{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "nbpresent": {
     "id": "eb51d93e-8113-4531-b387-a144c0855c5d"
    },
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "# Lecture 11 - Basics of Curve Fitting: The Generalized Linear Model\n",
    "> All models are wrong but some are useful. \n",
    "> *([George Box, 1976](http://www.tandfonline.com/doi/abs/10.1080/01621459.1976.10480949#.VrkhMMd6FBw))*."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "import seaborn as sns\n",
    "sns.set_context('talk')\n",
    "sns.set_style('white')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "nbpresent": {
     "id": "cec58143-3558-4f98-87d7-ee345a9dc752"
    },
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "## Objectives\n",
    "\n",
    "+ Generalized linear models\n",
    "+ Least squares\n",
    "+ Maximum Likelihood Estimate"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "nbpresent": {
     "id": "2d3386f0-0193-4b06-9e73-9f043ecfcc86"
    },
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "## Readings\n",
    "\n",
    "+ These notes.\n",
    "+ [Ch. 3 of Bishop, 2006](http://www.amazon.com/Pattern-Recognition-Learning-Information-Statistics/dp/0387310738)\n",
    "+ [Mathematicalmonk, Bayesian Linear Regression](https://www.youtube.com/watch?v=dtkGq9tdYcI)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "nbpresent": {
     "id": "2c80cfd4-ab6b-4b52-a924-fc73d7803597"
    },
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "## Supervised learning - Regression\n",
    "Say that you observe $n$, $d$-dimensional, *inputs*:\n",
    "$$\n",
    "\\mathbf{x}_{1:n} = \\{\\mathbf{x}_1,\\dots,\\mathbf{x}_n\\},\n",
    "$$\n",
    "and *outputs*:\n",
    "$$\n",
    "\\mathbf{y}_{1:n} = \\{y_1,\\dots,y_n\\}.\n",
    "$$\n",
    "The regression problem consits of using the data $\\mathbf{x}_{1:n}$ and $\\mathbf{y}_{1:n}$ to find\n",
    "the map that connects the inputs to the outputs.\n",
    "\n",
    "We will be playing with the following dataset consisting of motorcycle crash data.\n",
    "Namely, it records the observed head acceleration (in g) at different times (in miliseconds) after the crash."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0, 0.5, '$y$')"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "data = np.loadtxt('motor.dat')\n",
    "X = data[:, 0][:, None]\n",
    "Y = data[:, 1]\n",
    "fig, ax = plt.subplots()\n",
    "ax.plot(X, Y, 'x', markeredgewidth=2)\n",
    "ax.set_xlabel('$x$')\n",
    "ax.set_ylabel('$y$')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "nbpresent": {
     "id": "6e037055-71d5-4fd4-9788-568b7d6b2a1b"
    },
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "### Regression model\n",
    "+ Any model that connects $\\mathbf{x}$ to $y$ through the use of some parameters.\n",
    "+ Linear regression:\n",
    "$$\n",
    "y(\\mathbf{x}; \\mathbf{w}) = w_{0} + w_{1}x_{1} + ... + w_{D}x_{D},\n",
    "$$\n",
    "+ Generalized linear model:\n",
    "$$\n",
    "y(\\mathbf{x};\\mathbf{w}) = \\sum_{j=1}^{m} w_{j}\\phi_{j}(\\mathbf{x}) = \\mathbf{w^{T}\\boldsymbol{\\phi}(\\mathbf{x})}\n",
    "$$\n",
    "where $\\mathbf{w} = (w_{1}, ... , w_{m})^{T}$ and $\\boldsymbol{\\phi} = (\\phi_{1}, ..., \\phi_{m})^{T}$ are arbitrary basis functions."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "nbpresent": {
     "id": "00c51f95-ee09-45d6-adff-4f99c404a91d"
    },
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "### Naming conventions\n",
    "+ $\\mathbf{x}$: input\n",
    "+ $\\phi_i(\\mathbf{x})$: feature or basis function\n",
    "+ $y$: output or target"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "nbpresent": {
     "id": "79ad628b-59c5-4a2a-808b-7be68eba1a91"
    },
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "### Generalized linear model\n",
    "+ Note that the *generalized linear model*:\n",
    "$$\n",
    "y(\\mathbf{x};\\mathbf{w}) = \\sum_{j=1}^{m} w_{j}\\phi_{j}(\\mathbf{x}) = \\mathbf{w^{T}\\phi(x)},\n",
    "$$\n",
    "is linear in $\\mathbf{w}$ not $\\mathbf{x}$.\n",
    "+ $\\boldsymbol{\\phi}(\\mathbf{x})$ can be non-linear."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "nbpresent": {
     "id": "8dfba629-73cf-49d2-bb00-5292b159d463"
    },
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "### Examples of generalized linear models:\n",
    "Remember:\n",
    "$$\n",
    "y(x;\\mathbf{w}) = \\sum_{j=1}^{m} w_{j}\\phi_{j}(\\mathbf{x}) = \\mathbf{w^{T}\\phi(x)}.\n",
    "$$\n",
    "Some examples of $\\phi_j(\\mathbf{x})$'s are:\n",
    "+ Linear, $\\phi_j(\\mathbf{x}) = x_j$.\n",
    "+ Polynomials, $\\phi_j(x) = \\sum_{\\alpha\\in\\mathcal{A}_j}\\beta_{\\alpha}\\mathbf{x}^{\\alpha}$.\n",
    "+ Radial basis function, $\\phi_j(x) = \\exp\\left\\{-\\frac{\\parallel \\mathbf{x} - \\mathbf{x}_j\\parallel^2}{2\\ell^2}\\right\\}$.\n",
    "+ Fourier series, $\\phi_{2j}(x) = \\cos\\left(\\frac{2j\\pi}{L}x\\right)$ and $\\phi_{2j+1}(x)=\\sin\\left(\\frac{2j\\pi}{L}x\\right)$.\n",
    "+ $\\dots$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "nbpresent": {
     "id": "d41e547c-a72a-4ca1-9063-e58ca31eb136"
    },
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "## Fitting GLMs using Least Squares\n",
    "+ First published by [Legendre](https://en.wikipedia.org/wiki/Adrien-Marie_Legendre) in 1805.\n",
    "+ The idea is to find the best $\\mathbf{w}$ by minimizing a quadratic loss function:\n",
    "$$\n",
    "\\mathcal{L}(\\mathbf{w})\\equiv\\mathcal{L}(\\mathbf{w};\\mathbf{x}_{1:n},\\mathbf{y}_{1:n}) = \\sum_{i=1}^n\\left[y(\\mathbf{x}_i;\\mathbf{w}) - y_i\\right]^2.\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "nbpresent": {
     "id": "4db99232-c103-4ad6-9c3c-c1b0a086f014"
    },
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "### Expressing the Loss Function using Matrix-Vector multiplication\n",
    "+ The loss function can be re-expressed as:\n",
    "$$\n",
    "\\begin{array}{ccc}\n",
    "\\mathcal{L}(\\mathbf{w}) &=& \\lVert\\boldsymbol{\\Phi}\\mathbf{w} - \\mathbf{y}_{1:n}\\rVert^2\\\\\n",
    "&=& \\left(\\boldsymbol{\\Phi}\\mathbf{w} - \\mathbf{y}_{1:n}\\right)^T\\left(\\boldsymbol{\\Phi}\\mathbf{w} - \\mathbf{y}_{1:n}\\right).\n",
    "\\end{array}\n",
    "$$\n",
    "+ Here $\\boldsymbol{\\Phi}\\in\\mathbb{R}^{n\\times m}$ is the **design matrix**:\n",
    "$$\n",
    "\\Phi_{ij} = \\phi_j(\\mathbf{x}_j).\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "nbpresent": {
     "id": "df134093-4171-4994-a50c-f0bfb92df77b"
    },
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "### Minimizing the Loss Function\n",
    "+ Take the derivative of $\\mathcal{L}(\\mathbf{w})$ with respect to $\\mathbf{w}$.\n",
    "+ Set it equal to zero and solve for $\\mathbf{w}$.\n",
    "+ You will get [(Bishop, 2006)](http://www.amazon.com/Pattern-Recognition-Learning-Information-Statistics/dp/0387310738):\n",
    "$$\n",
    "\\mathbf{w}_{\\mbox{LS}} = \\left(\\mathbf{\\Phi}^{T}\\mathbf{\\Phi}\\right)^{-1}\\mathbf{\\Phi}^{T}\\mathbf{y}_{1:n}.\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "nbpresent": {
     "id": "73e5c535-33a8-41a9-a93b-d1b3cbd2b1e2"
    },
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "### How NOT to Solve a Linear Least Squares Problem\n",
    "+ Our goal is to find:\n",
    "$$\n",
    "\\mathbf{w}_{\\mbox{LS}} = \\left(\\mathbf{\\Phi}^{T}\\mathbf{\\Phi}\\right)^{-1}\\mathbf{\\Phi}^{T}\\mathbf{y}_{1:n}.\n",
    "$$\n",
    "+ The worst thing you can do is find $\\mathbf{\\Phi^{T}\\Phi}$ and invert it.\n",
    "+ Why?"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "nbpresent": {
     "id": "541036c4-83e9-4b77-b109-549e9ea20a5b"
    },
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "### How to Solve a Linear Least Squares Problem\n",
    "+ You compute the [QR decomposition](https://en.wikipedia.org/wiki/QR_decomposition) of $\\mathbf{\\Phi}$, i.e.,\n",
    "$$\n",
    "\\mathbf{\\Phi} = \\mathbf{QR},\n",
    "$$\n",
    "where $\\mathbf{Q}\\in\\mathbb{R}^{n\\times n}$ is [orthogonal](https://en.wikipedia.org/wiki/Orthogonal_matrix), i.e.,\n",
    "$\\mathbf{Q}^T\\mathbf{Q} = \\mathbf{I}$, and $\\mathbf{R}\\in\\mathbb{R}^{n\\times m}$ upper [triangular](https://en.wikipedia.org/wiki/Triangular_matrix).\n",
    "+ Then, solve the following problem using [backward substitution](https://en.wikipedia.org/wiki/Triangular_matrix#Forward_substitution):\n",
    "$$\n",
    "\\mathbf{R}\\mathbf{w}_{\\mbox{LS}} = \\mathbf{Q}\\mathbf{y}_{1:n}.\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "nbpresent": {
     "id": "d37717cc-1cf3-4ff5-9c84-7fac5fcd26e0"
    },
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "### How to Actually Solve a Linear Least Squares Problem\n",
    "+ Just use:\n",
    "\n",
    "> [numpy.linalg.lstsq](http://docs.scipy.org/doc/numpy-1.10.0/reference/generated/numpy.linalg.lstsq.html)\n",
    "\n",
    "+ You give it $\\mathbf{\\Phi}$ and $\\mathbf{y}_{1:n}$ and it returns $\\mathbf{w}_{\\mbox{LS}}$."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "nbpresent": {
     "id": "f7a6d550-a9a2-47b9-a038-a9b8d0c96f4f"
    },
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "### Example - Linear Least Squares - Linear Features\n",
    "We will use two features ($m=2$):\n",
    "$$\n",
    "\\phi_1(\\mathbf{x}) = 1,\n",
    "$$\n",
    "and\n",
    "$$\n",
    "\\phi_2(\\mathbf{x}) = x.\n",
    "$$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "nbpresent": {
     "id": "f0d6dfc3-f56b-4e37-912f-5223121d4e5f"
    },
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "outputs": [],
   "source": [
    "# Implementation of the basis functions\n",
    "class LinearBasis(object):\n",
    "    \"\"\"\n",
    "    Represents a 1D linear basis.\n",
    "    \"\"\"\n",
    "    def __init__(self):\n",
    "        self.num_basis = 2 # The number of basis functions\n",
    "    def __call__(self, x):\n",
    "        \"\"\"\n",
    "        ``x`` should be a 1D array.\n",
    "        \"\"\"\n",
    "        return [1., x[0]]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "nbpresent": {
     "id": "eeac469a-7828-4ce3-84ff-cf4a4be0bc56"
    },
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[1.0, 4.0]\n"
     ]
    }
   ],
   "source": [
    "# This can be used as a function, for example:\n",
    "phi = LinearBasis()\n",
    "print(phi([4.]))   # The input has to be an array"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "nbpresent": {
     "id": "c3a1d5e4-8e87-45e0-8308-2de2e55c620e"
    },
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "outputs": [],
   "source": [
    "# We need a generic function that computes the design matrix\n",
    "def compute_design_matrix(X, phi):\n",
    "    \"\"\"\n",
    "    Arguments:\n",
    "    \n",
    "    X   -  The observed inputs (1D array)\n",
    "    phi -  The basis functions.\n",
    "    \"\"\"\n",
    "    num_observations = X.shape[0]\n",
    "    num_basis = phi.num_basis\n",
    "    Phi = np.ndarray((num_observations, num_basis))\n",
    "    for i in range(num_observations):\n",
    "        Phi[i, :] = phi(X[i, :])\n",
    "    return Phi"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "nbpresent": {
     "id": "21c0c887-647c-4608-8b8c-c13e9f53336f"
    },
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Phi:\n",
      "[[1.  2.4]\n",
      " [1.  2.6]\n",
      " [1.  3.2]\n",
      " [1.  3.6]\n",
      " [1.  4. ]]\n"
     ]
    }
   ],
   "source": [
    "# Let's test this:\n",
    "Phi = compute_design_matrix(X, phi)\n",
    "print('Phi:')\n",
    "print(Phi[:5, :])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "nbpresent": {
     "id": "86040e79-5c8b-4de0-b28d-fe7564f872b5"
    },
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "w_LS:\n",
      "[-44.74302734   0.88644729]\n"
     ]
    }
   ],
   "source": [
    "# Ready to do least squares:\n",
    "w_LS = np.linalg.lstsq(Phi, Y, rcond=None)[0]\n",
    "print('w_LS:')\n",
    "print(w_LS)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "nbpresent": {
     "id": "23455f07-6dbf-4a3a-a1fd-a226494ba76f"
    },
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x1a1cfe6d10>"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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s3PnTjc/LSFYEZedUGmYRcksQje+uhXA52IEcPz4cQCSk5NLPa5+/fps27bN8rpXr16WQb1Hjx6cOXOGxYsXM3z4cH799VcuX77MfffdR+3atQGoW7cuX331FXl5ecTExDBnzhz69OnDSy+9ZGmzTp06TJgwgd27d9OuXTsAioqKmDFjBp06dQJMQlG3bl02bNhAx44dAfjuu+/Iycnh5ptvBkyBF2PGjGHcuHGWtpOTkxkyZAh79uyhf//+NG7cGDC56Ry56rZs2cIPP/zAvHnz6NevHwCdunSlWoSWpUuWcMeIEdSsWROAGjVqsHzpYnQFBhJjIzh35gTz588nNzeXuLg4fvjhByZMmMB1110HQMeOHalRowZhYbJmSTAhFpJQqSTGRrBgeLrNtgXD030qRnAl7LmswTEkJMQmRNo8SJu59tpryczM5OTJk1xzzTVERERwyy238Nxzz/Htt9/SvHlz/vWvfxEbG0tGRganTp2ib9++FBUVWf716NGDsLCwEgEUzZo1s/xfo9Hwj3/8g82bN1NUVATAhg0bSE1NtYjMI488wpQpU7hw4QI///wz69ats7gbCwsLXXpffvzxR8LCwrjhhhss2xJjIxh4880UFBTwyy+/WLZfc801RIaHWT67OnXqAHDxoin4oVOnTsyfP58HH3yQDz74gKysLB5++GHS020/f6HqIoIkVCpZunwmrtpjs23iqj0+Tz1jtozMlpIzjh49Sr169SyvExMTbfYnJCQAcObMGa666ireffddrrnmGj788EPGjBlDt27dmDt3LkajkfPnzwPw2GOPkZqaavnXunVrCgsLOXPmjKXdkJAQiyViZuDAgZw9e5bt27dz+fJlvv76awYOHGjZ//fffzNq1Cg6dOjAHXfcwfLlyy3i5WrZmZycHBISEtBqbYcK833n5uZatkVGRtocYz7HfK25c+cyatQo9u3bx6OPPkqvXr0YPXp0me+5UHUQl51QadgHMCwYns7EVXssc0q+dNslJCTQpk0bNm/ezKRJk0oMwGBygf3++++MHj3asi0nJ8fmmMzMTACLeLRu3ZoFCxZQUFDA7t27Wb16NYsXL6Zly5Y0atQIgJkzZ1pcc9bYC5A9TZo0ITU1lc8//9yS+v+mm24CTHkHx44dS0REBB9++CEtWrQgNDSUAwcOuLV2qlq1amRnZ2MwGGze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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Let's plot the result on these points:\n",
    "X_p = np.linspace(0, 60, 100)[:, None]\n",
    "Phi_p = compute_design_matrix(X_p, phi)\n",
    "Y_p = np.dot(Phi_p, w_LS)\n",
    "fig, ax = plt.subplots()\n",
    "ax.plot(X, Y, 'x', markeredgewidth=2, label='Observations')\n",
    "ax.plot(X_p, Y_p, label='LS Prediction (Linear Basis)')\n",
    "ax.set_xlabel('$x$')\n",
    "ax.set_ylabel('$y$')\n",
    "plt.legend(loc='best')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "nbpresent": {
     "id": "f9109fb5-f192-424a-9e8f-ba42f77f8177"
    },
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "### Let's try Polynomials of Higher Degree\n",
    "\n",
    "$$\n",
    "\\phi_j(x) = x^{j-1}, j=1,\\dots,m\n",
    "$$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "nbpresent": {
     "id": "82469b64-59da-4e3d-a84d-be2e61fecda9"
    },
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "outputs": [],
   "source": [
    "# Here is a class for the polynomials:\n",
    "class PolynomialBasis(object):\n",
    "    \"\"\"\n",
    "    A set of linear basis functions.\n",
    "    \n",
    "    Arguments:\n",
    "    degree  -  The degree of the polynomial.\n",
    "    \"\"\"\n",
    "    def __init__(self, degree):\n",
    "        self.degree = degree\n",
    "        self.num_basis = degree + 1\n",
    "    def __call__(self, x):\n",
    "        return np.array([x[0] ** i for i in range(self.degree + 1)])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "nbpresent": {
     "id": "3788a7e5-4526-44fb-9579-7b0005e4a22f"
    },
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0, 0.5, '$\\\\phi_i(x)$')"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Let's visualize the basis functions\n",
    "degree = 2\n",
    "phi = PolynomialBasis(degree)\n",
    "Phi_p = compute_design_matrix(X_p, phi)\n",
    "plt.plot(X_p, Phi_p)\n",
    "plt.xlabel('$x$')\n",
    "plt.ylabel('$\\phi_i(x)$')\n",
    "# It does not look very pretty because the polynomials grow very fast."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "nbpresent": {
     "id": "6dde20d0-6589-4e18-a2c4-c4e3e0f0ad17"
    },
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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A+nbty8//PADBw4cMAtmKAmtWrXCx8eHTZs2mZVv2bKFnJwc2rVrV7ovUgRHjhyhWrVqjBkzxihGqquttBOEC+Ovv/4CoGHDhly/fp3Y2FiGDh1KREQEXl6KHbB7927gloU0fPhw5sxRVscJCQlh8ODBjBgxgpSUFKtu2pLWV7dr1aplk+9mT4SFJCgTV65c4fPPPy9Q3rx5czp27MjMmTN57LHHGDx4MP/f3v0HR13ndxx/bn4QIpuE1iUUGZBgwkfKkJYWIvJ7oPW4zt3hD+74OamIeoDH4Q+kVz0Ohg5KU89zQEQjQqCpgSqKp6K15/WQescUUDs61c+FFrnhBkKCEBKGhM2P/vH97rosG0i47O437Osxw3yz389u8mY+89339/Pj+/mUlpYyfPhw2traOHDgABUVFcydO5eCgoK4xbdgwQJ2797NPffcw913301ubi67d+/m52+8wZJHVwJOQvqzMWN5cs1POHaihr7X92PPazs5W3+aPw70Cz/Emp7mdLkFW9soGHkLhTePYMO61cxZsIjPBtzAe2/vpqamhmUr5wBwnT8H++kn7P3PD8npP4RTUdtbPPTQQ9x3330sWrSIOXPmhGfZ+f3+Tq2AcTmhySIff/wxEydO7PLnJ02axJgxY3j88cc5ceIERUVF7N27lx07drB48WJyc3M7/Gyorvv168eECRO69Hf79u3LwoULef7558nIyGDy5MlUV1ezYcMGSkpKrur/0pHi4mKqqqooKytjypQpnDhxgi1btlBXVxdOUF3xySefhH9ubW3l0KFDlJeXM378+HCX8cCBA9m+fTv5+fn4/X727dvH9u3bAcLdhCUlJbz44osEAgFGjRpFTU0NW7du5dZbbyU3N/eSlu+V3h/y0UcfAXS5TpJBCUmuypdffhmeMRWptLSUkpISiouLef311ykvL6eyspLa2lrS09MpKiriscceY+bMmXGNr3///uzYsYOnn36alStXEgwGKSgo4NGfrKVk8l+Fx31WrC7jn1/cQOXmTQQvXGDC1L9m8JA7+a9f77to5Ya29nZneaF2+IennuXVbc9RtWUTTU1NDB12MyvLnuXGoYUUBPpw16z5rPufz1iy6Pv84O9WkR81XjRhwgReeukl1q9fz7Jly8jOzmbcuHEsX76c/PzYK0J01qBBgxgxYgR79+69qi/xtLQ0Xnjh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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Let's do the regression\n",
    "Phi = compute_design_matrix(X, phi)\n",
    "w_LS = np.linalg.lstsq(Phi, Y, rcond=None)[0]\n",
    "Y_p = np.dot(Phi_p, w_LS)\n",
    "fig, ax = plt.subplots()\n",
    "ax.plot(X, Y, 'x', markeredgewidth=2, label='Observations')\n",
    "ax.plot(X_p, Y_p, label='LS Prediction (Polynomial Basis)')\n",
    "ax.set_xlabel('$x$')\n",
    "ax.set_ylabel('$y$')\n",
    "plt.legend(loc='best');"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "nbpresent": {
     "id": "823a103b-3b00-4d7d-b416-7d0a41ba6041"
    },
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "### Questions\n",
    "\n",
    "+ Experiment with polynomials of degree 4, 5, 10, 20\n",
    "+ When are we underfitting?\n",
    "+ When are we overfitting?\n",
    "+ Which degree (if any) gives you the best fit?"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "nbpresent": {
     "id": "8d4456f2-f546-4fd6-841a-e37495bd6f48"
    },
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "### Let's try a Fourier Basis\n",
    "$$\n",
    "\\phi_{2j}(x) = \\cos\\left(\\frac{2j\\pi}{L}x)\\right),\n",
    "$$\n",
    "and\n",
    "$$\n",
    "\\phi_{2j+1}(x) = \\sin\\left(\\frac{2j\\pi}{L}x)\\right),\n",
    "$$\n",
    "for $j=1,\\dots,m/2$."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "nbpresent": {
     "id": "c4043123-7260-4ff0-b16f-f72c57deebe1"
    },
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "outputs": [],
   "source": [
    "# Here is a class for the Fourier basis:\n",
    "class FourierBasis(object):\n",
    "    \"\"\"\n",
    "    A set of linear basis functions.\n",
    "    \n",
    "    Arguments:\n",
    "    num_terms  -  The number of Fourier terms.\n",
    "    L          -  The period of the function.\n",
    "    \"\"\"\n",
    "    def __init__(self, num_terms, L):\n",
    "        self.num_terms = num_terms\n",
    "        self.L = L\n",
    "        self.num_basis = 2 * num_terms\n",
    "    def __call__(self, x):\n",
    "        res = np.ndarray((self.num_basis,))\n",
    "        for i in range(num_terms):\n",
    "            res[2 * i] = np.cos(2 * i * np.pi / self.L * x[0])\n",
    "            res[2 * i + 1] = np.sin(2 * (i+1) * np.pi / self.L * x[0])\n",
    "        return res"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "nbpresent": {
     "id": "cd3085c5-1e66-43fa-bd1a-a209ad314dbf"
    },
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5, 0, '$x$')"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Let's visualize the basis functions\n",
    "num_terms = 2\n",
    "L = 60.\n",
    "phi = FourierBasis(num_terms, L)\n",
    "Phi_p = compute_design_matrix(X_p, phi)\n",
    "plt.plot(X_p, Phi_p);\n",
    "plt.ylabel(r'$\\phi_i(x)$')\n",
    "plt.xlabel('$x$')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "nbpresent": {
     "id": "d29405cf-f76c-4943-9e87-e8e5ca59ecd3"
    },
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Let's do the regression\n",
    "Phi = compute_design_matrix(X, phi)\n",
    "w_LS = np.linalg.lstsq(Phi, Y, rcond=None)[0]\n",
    "Y_p = np.dot(Phi_p, w_LS)\n",
    "fig, ax = plt.subplots()\n",
    "ax.plot(X, Y, 'x', markeredgewidth=2, label='Observations')\n",
    "ax.plot(X_p, Y_p, label='LS Prediction (Fourier Basis)')\n",
    "ax.set_xlabel('$x$')\n",
    "ax.set_ylabel('$y$')\n",
    "plt.legend(loc='best');"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "nbpresent": {
     "id": "9d01c1e6-1cc8-4843-981c-7622d906cbaf"
    },
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "### Questions\n",
    "\n",
    "+ Experiment with 4, 10, 20, 40, terms.\n",
    "+ When are we underfitting?\n",
    "+ When are we overfitting?\n",
    "+ Which one (if any) gives you the best fit?"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "nbpresent": {
     "id": "3c544bb0-8327-4849-8cff-d7f056aa5d05"
    },
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "### Let's try a radial basis function approximation:\n",
    "$$\n",
    "\\phi_i(x) = \\exp\\left\\{-\\frac{(x-x_i^c)^2}{2\\ell^2}\\right\\},\n",
    "$$\n",
    "where $x_i^c$ are points about each the basis functions are centered."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "nbpresent": {
     "id": "17381342-ea47-4d49-82d5-b76cae99c709"
    },
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "outputs": [],
   "source": [
    "# Here is a class for the polynomials:\n",
    "class RadialBasisFunctions(object):\n",
    "    \"\"\"\n",
    "    A set of linear basis functions.\n",
    "    \n",
    "    Arguments:\n",
    "    X   -  The centers of the radial basis functions.\n",
    "    ell -  The assumed lengthscale.\n",
    "    \"\"\"\n",
    "    def __init__(self, X, ell):\n",
    "        self.X = X\n",
    "        self.ell = ell\n",
    "        self.num_basis = X.shape[0]\n",
    "    def __call__(self, x):\n",
    "        return np.exp(-.5 * (x - self.X) ** 2 / self.ell ** 2).flatten()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "nbpresent": {
     "id": "51f80b62-e964-487d-9004-43b78726f762"
    },
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5, 0, '$x$')"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "ell = 5.\n",
    "num_terms = 10\n",
    "Xc = np.linspace(0, 60, num_terms)\n",
    "phi = RadialBasisFunctions(Xc, ell)\n",
    "Phi_p = compute_design_matrix(X_p, phi)\n",
    "plt.plot(X_p, Phi_p);\n",
    "plt.ylabel(r'$\\phi_i(x)$')\n",
    "plt.xlabel('$x$')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "nbpresent": {
     "id": "ee1903cc-8be0-40e4-b777-97fadbb3fca6"
    },
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Let's do the regression\n",
    "Phi = compute_design_matrix(X, phi)\n",
    "w_LS = np.linalg.lstsq(Phi, Y, rcond=None)[0]\n",
    "Y_p = np.dot(Phi_p, w_LS)\n",
    "fig, ax = plt.subplots()\n",
    "ax.plot(X, Y, 'x', markeredgewidth=2, label='Observations')\n",
    "ax.plot(X_p, Y_p, label='LS Prediction (Radial Basis Functions)')\n",
    "ax.set_xlabel('$x$')\n",
    "ax.set_ylabel('$y$')\n",
    "plt.legend(loc='best');"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "nbpresent": {
     "id": "0f845bdd-4283-42a6-b0e1-9240fb831a99"
    },
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "### Questions\n",
    "\n",
    "+ Experiment with different values of ell and centers.\n",
    "+ When are we underfitting?\n",
    "+ Which one (if any) gives you the best fit?"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "nbpresent": {
     "id": "565fa7c7-ffe3-4b46-bd29-831cc0e360ea"
    },
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "### Let's try an approximation using step functions:\n",
    "$$\n",
    "\\phi_i(x) = \\begin{cases} 1,& x\\ge x_i^c\\\\\n",
    "                          0,&\\;\\mbox{otherwise},\n",
    "\\end{cases}\n",
    "$$\n",
    "where $x_i^c$ are points about each the basis functions are centered."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "nbpresent": {
     "id": "7de2995b-945b-45df-8a38-8b79600620d1"
    },
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "outputs": [],
   "source": [
    "# Here is a class for the polynomials:\n",
    "class StepFunctionBasis(object):\n",
    "    \"\"\"\n",
    "    A set of step functions.\n",
    "    \n",
    "    Arguments:\n",
    "    X   -  The centers of the step functions.\n",
    "    \"\"\"\n",
    "    def __init__(self, X):\n",
    "        self.X = X\n",
    "        self.num_basis = X.shape[0]\n",
    "    def __call__(self, x):\n",
    "        res = np.ones((self.num_basis, ))\n",
    "        res[x < self.X.flatten()] = 0.\n",
    "        return res"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "nbpresent": {
     "id": "80dd9d81-9465-4cef-8271-62e3aebaab04"
    },
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "Xc = np.linspace(0, 60, 5)\n",
    "phi = StepFunctionBasis(Xc)\n",
    "Phi_p = compute_design_matrix(X_p, phi)\n",
    "plt.plot(X_p, Phi_p)\n",
    "plt.ylim([-.1, 1.1]);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "nbpresent": {
     "id": "8819046f-0dfd-4342-b42d-dc2aea040d8c"
    },
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaQAAAEZCAYAAADYGFGeAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nOydeVxU1fvH38OwLy6AIG4pZrck1MgNNVzSNMuv5lctl1zS1NTSNG0x7Vtqiz9zySUly93UFvObWVp+U8tQUyq15ZaCpoYLosiArDO/P4Z7nRkGGGBmmIHzfr14wdx759xzh7nnc5/nPOd5NAaDAYFAIBAIKhuPyu6AQCAQCAQgBEkgEAgELoIQJIFAIBC4BEKQBAKBQOASCEESCAQCgUvgWdkdcFckScrHKOg3KrsvAoFA4EbUAPSyLBfRHyFI5ccD0AQFBdWs7I4IBAKBu5CRkQHFeOeEIJWfG0FBQTWPHj1a2f0QCAQCt6F169ZkZGRY9SyJOSSBQCAQuARCkAQCgUDgEghBEggEAoFLIARJIKiirE84Q6oux+q+VF0O6xPOVEpbAkFxCEESCKog6xPOMHvHrwyOP1RESFJ1OQyOP8TsHb/aJCT2bEsgKAmNyPZdPiRJul5clF1mZiY3btwgPz8fvV5fCb0TVHey8wrY+/tlbmTnUcPXi/vvCsPXS1vsdme1JaiaeHh44OvrS2hoKBqNpsRjC6Ps0mVZrmW5T4R92xG9Xs8///xDRkYGHh4eeHl5odWKG1TgfHy9tDwYXZeMm/nkG/Tk5Onx0nqQk6enfdNgPDUeBPl54lHK4GHvtgRVk7y8PHQ6HTk5OdSvX79UUSoOIUh2JD09nYyMDEJDQwkJCcHDQ3hEBZVLXoGe5CuZZOcXoAPwgkBPLU3qBOClLdv3055tCaoeaWlpXLp0idTUVOrUqVOuNsS3yI7odDq8vb0JDQ0VYiRwCby0HjQK8Tfb1ijEv1wCYktbeQX6YoMfBFWb4OBgfHx8yM7OLncbYtS0I3q9Hk9Pz3KbqwKBvckr0PP31SyzbX9fzSKvoOxzm3kFepKuZBbblmJB/XP9phClaopWq63QvLkQJIGgimLqYvP11HJHeBC+nlqy8wtIvpJZJlFS2srX69UHLo1Go7aVnVdgdq6afl6OuixBFUYIkkBQBbEUoyZ1AvD1KvxdRlGybKtZWCC+nloMBoMqSn9d1pmdS8wpCcqD+NYIBDbgbssj0m/mWRUIL62HmSil38wrc1umwqZ8LgaDAc/CtoUYCcqL+OYIysyhQ4d46qmniI2NJTo6mh49ejB37lzOnz+vHnP+/HkkSWLHjh2V2NOKk5GRwQsvvIDperPHH3+ckSNHVl6nbCA00Id6tfysCoQiSvVq+REa6FOutqwFOESGCjESVAzx7XFhXDFdy7JlyxgxYgQGg4FZs2axevVqRo0axcGDB+nXrx8//PCD0/vkSGRZZvv27WYTta+88gqzZs2qxF7ZRmigT7EC4aX1sEmMimvLnsESAoGCWIfkoijpWjYknOXDse3NBg8lXctfl3UADI9t7JQ+ffPNNyxdupQpU6bw1FNPqdvbtWtHv379GDt2LM8++yyff/65U/pTWdx+++2V3YVKxXJOqVGIP39fzVLnpYTbTlBexLfGRekdHUGzsED+uqwzyyFmKkbNwgLpHR3htD6tWLGCpk2bmomRgr+/P3PnzuX69ets2rRJ3X7x4kVGjx5NixYtuP/++1mzZo3Z+w4ePMigQYO45557aNOmDRMmTOD06dNmx3z99df079+f6OhoOnXqxFtvvUVubq66f+nSpfTq1Yt33nmHdu3a0bNnT1588UXuu+++IiGoL730Et26dVPnPrZu3Ur//v1p1aoVLVq04JFHHmH37t0AHD58mKFDhwIwfPhwHn/8caCoyy47O5slS5bQs2dPoqOj6d27N1u3bjU7b7du3Vi2bBlvvvkmHTp0oGXLlowePZqzZ8+qx6SlpTFt2jQ6duxIixYt6Nu3L5999lnJ/xQnY89gCYHAEiFILkpooA8fjm1vJkryxQwzMbK0nBxJWloav/76K126dCn2mMaNG3PXXXfxv//9T922ZMkS6tevz/Lly+nevTtvvvkmGzduBODcuXNMmDCBu+++m3fffZe5c+eSlJTEuHHjVMH4/PPPmTRpEs2aNWP58uWMHz+erVu3Mm3aNLNznzt3jm+//ZaFCxcyZcoU+vbty+XLl83mfnJzc/nmm2/o06cPGo2G9evX8+qrr/LAAw+watUqFixYgKenJ9OmTePSpUtERUXx2muvATB79mxeeeWVItdsMBh48sknWbduHYMHD+bdd9+lQ4cOvPLKKyxfvtzs2LVr15KcnMwbb7zBnDlzOHnyJC+++KK6f/r06Zw+fZpXX32V+Ph4mjdvzvPPP8/hw4dt/C85HnsGSwgElgiXnQujiJIiQj0XHwBwuhgBXLhwAYD69euXeFyjRo04ePCg+rpz587qoH7fffdx+fJlVq5cyZAhQzh+/DjZ2dmMGzeO8PBwACIiIti7dy+ZmZkEBASwYMECunbtyltvvaW2WbduXSZOnMixY8e49957AcjPz+eFF16gXbt2gFEoIiIi+OKLL2jbti0A33//Penp6fzrX/8CjIEXY8aMYfz48Wrb9evXp3///iQmJvLggw/StGlTwOims+aq279/P0eOHGHJkiX06tULgE6dOpGfn69eZ+3atQGoVasWK1asUPMb/v333yxdupSMjAyCgoI4cuQIEydOpHv37gC0bduWWrVq4eXlOmt6lO9cTT+vYoMl0m/mOfW7Kag6CAvJxQkN9GHZkBizbcuGxDj9hlcsltIGR61WaxYirQzSCvfffz9XrlwhJSWFli1b4uPjw4ABA5g3bx7fffcdd955J88++yyBgYEkJSVx8eJFunXrRn5+vvpz33334eXlVSSA4o477lD/1mg09OnThz179pCfnw/AF198QVRUlCoyL730ElOnTuXGjRv8/PPP7NixQ3U35uXZ9oT/448/4uXlxQMPPGC2vU+fPuTm5vLLL7+o21q2bGmWbLdu3boAZGUZgwPatWvH0qVLeeaZZ/joo49ITU3l+eefJybG/P9f2dgzWEIgMEUIkouTqsth0uZEs22TNic6PTWLYhkpllJxnDt3jnr16qmvQ0NDzfaHhIQAcPnyZRo0aMDGjRtp2bIlH3/8MWPGjKFjx44sWrQIg8HA9evXAZg1axZRUVHqT4sWLcjLy+Py5ctqu1qtVrVEFPr27UtaWhoJCQlkZ2fzv//9j759+6r7//77b0aOHEmbNm0YNmwY77//vipetq47Sk9Pt5pIV7nujIwMdZuvr6/ZMcp7lHMtWrSIkSNHcvLkSV5++WU6d+7M6NGjS/3MBYKqgnDZuTCWAQzLhsQwaXOiOqfkTLddSEgIrVq1Ys+ePUyePNlq8tjz58/z22+/MXr0aHVbenq62TFXrlwBUMWjRYsWLFu2jNzcXI4dO8bWrVtZuXIlzZs3p0mTJgC8+OKLqmvOFEsBsuT2228nKiqKr776Sk2N/9BDDwHGvINjx47Fx8eHjz/+mLvuugtPT09OnTpVprVTNWrU4OrVq+j1erPPxPI6bSEoKIjp06czffp0kpKS2Lt3LytWrGDOnDmsXLnS5nYEAndFWEguiqUYfTi2PVLdoCKBDs60lCZOnEhSUhJLliwpsi8nJ4eZM2cSEBDAkCFD1O3fffed2XFfffUV4eHh3HbbbWzYsIFu3bqRm5uLt7c3sbGxzJkzB4CUlBSaNm1KcHAwFy5cIDo6Wv2pXbs2CxYsKBKNZ41//etf7N+/ny+//JKOHTuqlsu1a9dITk5m0KBBREdH4+lpfDY7cMA4T6dYLaXVs2rbti15eXns2bPHbPvOnTvx8vKiRYsWpfYRjNGInTt35quvvgIgMjKSJ598kg4dOpCSkmJTG7aQqsspNgJOZOoWVDbCQnJRdp1IsRpNZxnosOtEitPWIcXFxfHcc8/x9ttv88cff/DII48QGhpKcnIy69ev559//mHRokVERESoWRu+/PJL6tatS9u2bdm9ezd79+7lzTffRKPR0L59e+bPn8/EiRMZNmwYWq2WLVu24OPjQ9euXdFqtUyZMoVXX30VDw8P4uLiSE9P55133iEjI4PmzZuX2ueHH36Y+fPn880335gFRoSEhFC/fn3Wr19PWFgYgYGBfPfdd6xfvx64Na9To0YNAPbt20fNmjW58847i3wmbdq0YebMmVy8eJFmzZqxf/9+tmzZwlNPPaW+vzTq1q1L/fr1mTt3LjqdjkaNGnHy5En279/PhAkTbGqjNFJ1Ofxz/SZputwia4VMw7kBMQ8kqBSEILkoisj0jo4oMjgoouRMMVJ48skniYmJYd26dcybN4/r169Tt25dOnfuzIgRI2jYsKHZ8S+++CI7d+5k9erVRERE8NZbb9GvXz8AmjVrxqpVq1i6dClTp06loKCAu+++mw8++IDbbrsNgEcffZTAwEBWr17N5s2bCQwMpE2bNkydOtWmImChoaF07NiRo0ePqtFrCitWrGDevHnMmDEDb29vbr/9dt59911ef/11jh07xpAhQ4iMjOTf//43mzZt4vvvvy+y6NfDw4NVq1axePFiVq9eTXp6Oo0bN+Y///kPjz32WJk+26VLl7JgwQKWLFnCtWvXiIiI4Omnn+bJJ58sUzvFUdPPizRdbpEFrJZri0SmbkFloXG3pJGugiRJ14OCgmqarnNRFjkqg6lA4GqUlGVBZOoWVBRbxsDWrVuTkZGRLstyLct9VcZCkiTJE8gAfC12ZcqyHFh4zAPAPCAKuAQsk2X5bad2VCCoRJS1Qooo/XnJGAUoxEjgClSlb5+EUYxGALEmP10BJEnqAOwE/gD6A5uA/5Mk6blK6a1AUEnYs6y5QGBPqoyFBLQE9MDHsixnWdn/GpAoy/Ljha+/kiTJC5gpSdJSWZZFeJGgWlBcpm5hIQkqm6r07WsFnLYmRpIk+QJxwCcWuz4GagEdHN89gaBi2CNk23IOKSzIFx9PD6tJUe0dBi5CzgWlUdUspBxJkr4COgF5wDbgOaAh4AXIFu85VfhbAr51Uj8FgjJjj5BtSzGqFeDFxfRsfDy1ZqLUpE4AgF3DwEXIucAWqpKF1BJoCuwCegNzgMHA50DNwmNuWLxHyeti22IRgaCSqOnnZbW8Q1lCti0zddf298bXU0tOfgGgUUXpwrWbJF3RWW2zvJaMPfovqPpUJQvpUSBNluUTha8PSJJ0CdgIKJkvi4txF8VbBC6NZXRc8pXMModsW8vUbdqmj6eWIB9PbmQbE8v6eHqYtVkRS8Ye/RdUfaqMIMmyvN/K5i8sXltaQsrrdAQCF8ceIduWImLZZk6+6V6N+pc9LBkRci4ojSrxDZAkKUySpDGSJEVa7PIr/H0JKAAsC9oory3nlgQCl8QRIdvW2vT29CCn0JLJzisoUiW2vOcTIeeCkqgq3wI9sAqYZLH9UYxC9A1wAOgvSZLGZP+/MVpHRxEIKogzsp4UF7JdkZLhSpum/dcAPoVzPn9eyrCbW80R/bcXImtN5VMlXHayLKdKkrQceEaSpBvAd0BHYCbGbAynJEmai1GYtkiStBZjqPd04IVi1i0JTHj88cfRarWsXbu2xOMuXLjAihUr+P7777l69SqBgYG0atWKJ554Qq3cWhzdunUrUvvH29ubBg0a0KdPH8aPH2+17IU9eOGFFzh27Bhff/212pfY2FjmzZtn0/u//fZbvvzyS+bPnw/A4cOHGT58OJs2baJ169Z26WNJaX+Sr2SizUplzOgn+Oyzz6hZ0xjHc/ToUVavXs1PP/1EZmYmoaGhdOjQgaeeeoqGDRuqbR78bj+HD+xl8cIFapvenuafdUUtGdP+D7y/XbHHhYeHq1nXncXp06eZOXMmW7ZsUbdJksTkyZPtlty2OM6fP8/9999vts3T05OQkBC6dOnClClTCA4Otus5bb2fFV588UWaNm3KmDFj7NoPS6qEIBUyDTgPPAG8AFwAXgHmA8iy/D9Jkv4NvAp8Vrh/ukgdZD8uXbrEoEGDqFevHtOmTaNu3bqkpaWxbds2RowYwZIlS4pUVrWkW7dujBs3Tn198+ZN9u7dy5IlS8jKyuK555yTWGPZsmUEBQXZfPy6desoKChQX0dFRbF161arZc/Lg6UYKZaKMieTlZvHqzNe4InRo1Ux+v777xk7diy9evVi3rx5BAUF8ffff7N69WoGDBjA5i1bKfALITu/gC+3b8XLw4Cvl7HtpCs6cvLNrZaKLJ617D8YE+f+q18//rmWTW5BAd5aLfVq++Lva5n9y/Hs3r2bn376yWzb1q1biYiIcFofnn76aTp16gQYy7mcOXOGpUuXcurUKTZv3mzXc73yyitoNJrSDyxk2rRpPPTQQ3Tp0sVu32lrVBlBkmU5D6P4zC/hmO3Adqd1qprx0UcfkZWVxdq1awkICFC39+jRg4EDB9okSMHBwbRq1cpsW2xsLKdPn2bz5s1Mnjy51DLq9sCW0hYloViG9sIyZFsRBUWUNmzbwYVzZ+nxUD/1PfHx8cTExLBw4UJ1W7t27YiLi6NHjx6sfv8DBo+fiq+nFj8vD/R6UwG6NViFBflw42Z+kSzhFek/GEtutI6JMROrerX8XGYdkj3/f7bQsGFDs3O2a9cOHx8fnn/+ef766y+aNWtmt3OVVVRCQ0Pp06cPCxYscGixyKoyhyRwAa5evQpgMbAZi9xNmzaNQYMGlbvt5s2bk5mZqVaglSSJ5cuX079/f1q3bs2aNWsAo8twypQptGnThlatWjF69GhOnTpl1lZ6ejovvvgi7dq1o02bNvzf//1fkT5369aNmTNnqq91Oh1z5syhU6dO3HPPPQwaNIgffvgBMLo/EhISOHLkCJIkcfjwYQ4fPowkSZhmg//5558ZNWoUbdq0oU2bNkyePFmtGwXw6aefEh0dTWJiIgMHDiQ6OpquXbvywQcfEBroQ71aflbFwEvrwc6PNxLXrTshNW4FDCiVbMF8/VB4eDizZs3i/i5x1Kvlx6vPPcWhQ4fU/v93z35y8gvIycxg3dK3eKRXNwY80JHZU8by88+JZuuIJEli06ZNTJs2jVatWtGpUycWL15sZi0Cpfa/SZ2AImL06aefIkkSFy9eLPZ/c/78eSRJYs+ePUyaNIl77rmHtm3bMmvWLG7evKm+x2AwsHbtWnr16kWLFi3o2bMnGzZsAIxlP5Sik5IksXTpUvXvFStWqG1cvHiRGTNmcN9999GyZUuGDh3KkSNH1P229qUsKNauqTXz+++/M3HiRNq3b09UVBRxcXHMmzePnJxb68MOHjzIoEGDuOeee2jTpg0TJkwwK2j5+OOPM3LkSJuPB+jTpw/79u3jzz//LNe12IIQJGdRkAfXzlb+T0Gewy4xLi6OrKwsBg4cyAcffMDvv/+uDogdO3ZkxIgR5W77zJkz+Pv7ExISom5bsWIFDz30EPPnzycuLo60tDQGDx7MH3/8wX/+8x8WLFhAZmYmQ4YMUeem9Ho9Y8aMYf/+/cyYMYM333yTxMREdu3aVey5CwoKGD16NDt37mTChAksX76ciIgIxo4dy2+//cYrr7xCdHQ0zZs3Z+vWrURFRRVp44cffmDIkCF4enry1ltvMXv2bH7//Xcee+wxUlNT1ePy8/OZOnUqffr04b333iMmJoa33nqLhIQEQgN9rFomSUlJ/HryJPd06GImFnFxcRw7dozhw0fw3vot/PT7aVWUBg4cSPfu3QkN9OHV//xH7f+qtRuoH9kMj4J85kyfxOGD3zF16lTeeecdwkJq89r0SZw8eYL0m7e+R4sXLyYrK4slS5bw2GOPER8fr86lmWLZf71eT35+Pvn5+WgMemr5asnPzy/yPlt4+eWXadiwIStWrGD06NF89NFHrFq1St0/f/585s+fzwMPPMDKlSvp06cP8+bNY9OmTQwcOJBHH30UMLrpBg4cWKT9y5cvM2DAAH755RdmzJjBokWL8PX1ZdSoUSQkJJSpL8VhMBjUzyM7O5s//viD5cuX0759e9WiuXTpEkOHDiUnJ4e33nqL9957j969e7N+/Xq1uOS5c+eYMGECd999N++++y5z584lKSmJcePGWQ3csPX4li1bUrduXb74wnI1jf2oMi47l6YgD5a1gWvJld0TqN0EJv0IWvu7vbp27crs2bNZuHChWp01KCiI2NhYHnvsMTp27FhqG8pNqfx99epVvvjiC/bu3csTTzxh9qQYExPD6NGj1deLFi0iPT2dbdu2UbduXQA6depEjx491BvtwIEDHD9+nNWrV3PfffcBRpdgt27diu3TgQMH+Pnnn4mPj6dz586AsXT5wIEDOXz4MKNGjSIwMJCCgoJi3Txvv/02TZs2ZdWqVWpgxr333kvPnj15//33ef755wHjIP3000/z73//W73Gr7/+mm+//ZbY2FirbR86dAiNRkNU1N1mbrVnn32WGxkZbP/0Uw4fPgRAeN26dOncmZEjRxIZaVwlcfvtt6v97xLbllRdDl/v3M6ff8p89NFHREdHA0aB+/eAAXyyfhX9u69TxS0sLIzly5fj4eFB586dyczMZP36DTw2cgxNIoovorh06VLVGjHl+PHj+PiUzW3XtWtX9TOMjY3l4MGD7Nu3jylTpnDjxg3Wr1/PyJEjmTp1KgAdOnTg4sWL/PjjjwwdOlT9vhT3/1uzZg03btzgo48+UueVunTpQt++fVmwYAGffHIrTWZJfSmJ559/Xn2fQq1atczmj2RZpnnz5ixZskR1i3fo0IGDBw/y448/8uSTT3L8+HGys7MZN24c4eHhAERERLB3714yMzMJDAw0O0dZjo+KiuLw4cMlXkdFEIIksCtDhw6lf//+HDx4kB9++IEjR46wZ88e9uzZw5gxY5g+fXqJ7//kk0/Mbm4wRtoNHDiQZ555xmz7HXfcYfY6ISGBqKgoQkNDVVHz9PSkY8eOqnvt6NGj+Pj4qGIE4O/vT+fOnUlMTLTap2PHjuHt7U1cXJy6zdPTk+3bbZuOzMrK4tdff2Xy5MlmUYL16tWjdevWZm4fMIqQ6bUHBweX6PI5d+4ctWrVIuq2sCKZEEZMep6eg0Zx8ughTv36Ez8eOczWrVv59NNPWbx4cZEqumC0ZI4cPkx4eDh33XWXmdXSrWtXVq1aRco1HVcyjdt7Pfig2XV1696dDz74gAMJRwl6oFuxc0KDBw9WhdcUb2/vYq+1OEw/MzDOT126dAkwukrz8/Pp0aOH2TFz5861uf2jR49y7733mgU5eHh40Lt3b5YsWYJOp7OpLyXxzDPPqN+xvLw8zp07x3vvvcfQoUPZtm0bjRo1Ii4ujri4OPLy8jh16hRnz57lzz//JC0tjdDQUMBoyfj4+DBgwAB69epFXFwc7dq1o0WLFlbPW5bj69evzy+//FL6B1ZOhCA5A62X0Sq58U9l9wRq1HOIdWSKn58f3bt3Vwe7s2fPMnPmTFavXk3//v1p2rRpse+9//77eeqppwCj39zf358GDRpYHaRM3XcA169f5+zZs1ZdZkogRHp6OrVr1y6yv6Ry6NevXyc4OLhMUUmmZGRkYDAY1AHDlJCQEP75x/x74efnZ/baw8My4MAcnU6Hv79/sZkQ6oaFETtiMF7aoYAxJP25557jP//5D/fff7/V67p+/ToXL160+lkC6LN1+Hoan9A1fjXJK9Cr5dCzMM5j5WbpSszoEBYWplpfFcXXIjLP9DO7fv06UPT7UhaU0vSWhIaGYjAYyMzMtKkvJdGgQQOzzyMmJoY2bdrQvXt31q5dy+zZs9Hr9SxcuJBNmzaRlZVFREQELVq0wMfHR3WvNWjQgI0bNxIfH8/HH3/M+vXrqVGjBkOGDGHKlClF/t9lOd7Pz89MfO2NECRnofWC2lW3tHlBQQE9evSgX79+RSyZ2267jZkzZ9KvXz9Onz5doiDVrl273INUYGAg7du3LzE0vHbt2qSlpWEwGMxuNGXQskZQUBDXrl0rsv348eN4e3tz5513ltovjUZjNlekcOXKFasCWRZq167NjRvGvMFKJoQv9iXw1svP8fSLrzLwoe5mczft2rVj9OjRvPHGG6Snp1OrVpFK0gQFBdG0aVPV9WpJnZBgwrTG4ePatetmuekup14B4M7G9Sq0bkn5/1gGSJgO/raghO+npaXRqFEjdfu5c+dISUmxaZ1YjRo1rP7/Ll++DBj/B8rf9qRevXrUrFlTLQ0eHx/P2rVree211+jRo4d6bQMGDDB7X4sWLVi2bBm5ubkcO3aMrVu3snLlSpo3b07Pnj2LnMfW42/cuFHh72tJiKAGgV3QarXUqVOHTz75xOrgnZycjEajsWvoqiVt27YlOTmZpk2bEh0drf5s27ZNnYiNjY0lNzeXvXv3qu/Lzc3l4MGDxbZ77733kpOTY3ZMQUEB06dPVyeStVptse8PCAggKiqKXbt2mT0pp6SkkJiYWMTFU1bq1atHRkYGOp1OzYQQ0aAR2dk32fXpVs5c0RXJhJCcnEx4eLgqRpb9b9OmDf/8849qxSg/e/fuZcOGDXh53UrQ+tPhg2YZHX787lv8/Py4N+aeCl2XMneRkpKibktKSuL69evoi8mqYC0becuWLfHy8uLbb80rzLz77ru89NJLeHh4lPj/A+PncezYMbOIP71ez1dffUV0dHS53Iy2cP78edLS0mjSpAlgdB9LkkT//v1VMbp06RJ//vmn+t3asGED3bp1Izc3F29vb2JjY5kzZw5g/lkqlOX4ixcvOnRtlrCQBDaTkpJidWV38+bNadu2LTNnzmTEiBH079+f4cOHc9ddd6HX6/nxxx9Zu3YtQ4YMUW8sRzBq1Cg+++wznnjiCUaOHEmNGjX47LPP2LFjB6+//jpgFKROnTrx0ksvkZqaSkREBOvXryctLY2wsDCr7Xbt2pUWLVowY8YMpkyZQr169fjoo4+4dOmSGjobFBTE0aNHSUhIsLqG6dlnn+XJJ59k/PjxDB48mMzMTJYuXUpgYKBZ+G15UIJFjh5LpJ50D9Nf+lwAACAASURBVNn5BYTWrs2056bz+tw5zJg0hl59HuGe5k25mZnJ119/zWeffWa2Psmy//3792fjxo2MGjVKnezet28fa9asYdKkSWbW5W8nfmbF/82hY9ce/HHyODs/3crTTz+Nv79/kb6Whfbt2+Pn58frr7/OlClT0Ol0LFq8hMCgGmRk55uJbIHeYLaeKTvPaFXlFejRewcwbNgw3n//fTw9PWndujXHjh1j+/bt6sCrDO47d+6kVatWNGjQwKwvo0aNYseOHYwYMYKnn36agIAANm/ezOnTp3nvvfcqdJ0K586d4+effwaMAT0XL15kxYoV+Pn5MWzYMMBoyaxYsYL33nuPli1bcvbsWVatWkVubq46z9i+fXvmz5/PxIkTGTZsGFqtli1btuDj40PXrl2tfs62Hv/TTz8xfPhwu1yvNYQgCWzmzJkzvPHGG0W2Dx8+nLZt29KiRQu2b99OfHw8Gzdu5MqVK2i1Wpo1a8ZLL71UxK1gb8LDw9myZQsLFy5k1qxZ5OXlERkZycKFC3nooYfU45YtW8aCBQtYvHgxOTk59O7dm0GDBrFv3z6r7Wq1Wt5//30WLFjAwoULyc7OJioqijVr1qiBFaNGjeKXX37hySefZP78+UXmKzp16sT777/PO++8w+TJk/Hz86NDhw4899xzxQqhrTRs2JDmzZuzc/dehjdtoS4+vePxYUQ2acJ7H6xlXfwylt9IJyAggJYtW7Ju3TqzVE6W/e/duzebNm3i7bff5s033yQzM5OGDRsya9YsdXBU6DtoKCn/nOetWTMIDgll9MRnGTN2tGU3y0xQUBDvvPMOb7/9NhMmTKB+/fpMnDiRrR9/SoHeQPKVTG5mGq2hyxk5anYJX08t3p4eGAy3igw+MWEywcHBbNu2jfj4eG677TZef/11HnnkEQB69erFf//7X1544QUGDRrE7NmzzfoSFhbGhx9+yIIFC3jllVfQ6/XcfffdrFmzhnbtik+DVBZMow49PDyoWbMmrVq14vXXX1fnr8aNG8e1a9dYt24dGRkZRERE0LdvXzQaDfHx8eh0Opo1a8aqVatYunQpU6dOpaCggLvvvpsPPviA224rOm1g6/HHjx/n2rVrpS5urwgakVCwfEiSdD0oKKim6cJHxc9r7Z8uEDiSbds/5815r7H+ky+RGgQXW5HVnpkQ8gr03N38Lh4bNY6hI590Wn0j0+vx8fTAAOQWpjny8fQgso7R1WevDOUCIy+//DJpaWlmi4UtsWUMbN26NRkZGemyLBeZvBT/IYGgCjCw38M0atSIH7/9wuZMCBVBEQUATw8NTeoEqHnwrFWGtSfK9Rir3epVMTKiUa0nIUb249KlS+zevZvJkyc79DzivyQQVAE0Gg0LF/wfa9d8oKZXMsVL62HXHHFKbjqA2gHeRXLrKaJkmtHBnpRUw8me5TIERhYtWsSYMWOQJMmh5xFzSAJBFSEyMpL9+60VTrY/irid/O33Yi2y9Jt5DkuUaq2ukiWi8J/9ePPNN51yHvHfEggE5aK43Hpgf4vMFMtSFneEB+Hj6WHhunOdwn8C2xGCJBAI3AZrdaG0HhpMy2V4e3qo1W4dNY8lcAxCkOyIRqOxKUWIQCAoH9bqKiVfySQnvwAfT61qKdUO8HJ4cIWgKAUFBRWq6izmkOyIj48P165do6CgoNSV3wKBoOwobsCafsZMEam6nCICpcxd1fb3Vq0pR85nCYzo9Xry8vKK5GIsC0KQ7EiNGjVIS0sjJSWFiIgIIUoCgQMwFRZLgTLd5ozgCoERg8FAamoqer1eLSpYHoQg2RE/Pz/Cw8O5dOkSOp0OHx+fCpmvAkGFMOihmix8Ly3dauaVEnZqNKAR92lFyM/PJzc3lxo1alQoZZQQJDsTHByMn58fGRkZZGdnW63QKBA4nPQLcOobQHz/bKJJHARHVnYv3BalbldFrCMQguQQ/Pz8KuRHFQgqzP82wPG3K7sXbsQ/cE/pZcYFjkUIkkBQFckrrDDbJA76vVvq4R8fO8/be/6kSag/y4bEEBxwq5xCWmYukzYnkpyaxbQH7mDAvQ1KaKly+fjYebrdGWbWf4W0zFz+98dl8/4fehcSlkHaaSf2UlAcQpAEgqqIIkh+wVCzdAHp0rYOq37O4YfLOh7dco4Px7YnNNCHVF0Og7cc4q9UP5qF1aFL23vARQME1iecYfaeqzT7OUftv4J6HZd1ZPnVZXhsY+OOiJbG31eFILkCYiZPIHBx1iecKVJ0TiFVl8P6hDNFdyiC5GWb6zg00IcPx7anWVggf13WMTj+EPLFDAbHGwfxZmGBRQZ5V6N3dIRZ/5XPLFWXY3YdvaNNCswFF1YvvpkGN4sWlhQ4FyFIAoELsz7hDLN3/Go2wCooA+3sHb8WFaW8wjxvNgoSFBWlnosPuI0YQTlFNcQkkOFqkvM7LTBDCJJA4MKU66kfID/b+NurbCG4oYE+LBtiXlJ92ZAYlxcjBVtFVbU6/Wob3ZoAaUZBStXlMHHTsbJbpRWgXFawG53PVoQgCQQuTLldaeWwkMA4GE3anGi2bdLmxGIHL1ekNFEtYnWGFLrt0k6TqsvhwcUH+OLERR5c8l3ZrNJyUm4r2E3OVxaEIAkELk65XGmFc0iJKdk2PwlbWl27p8RZtc5cndJE1dLqzK7RGIDsS38yOP4QV3S5eGs9uJKRUzartJyU2wp2k/OVBSFIAoEbUGZXWqEg7fztuk1PwpaD0Ydj2yPVDSpinbm6KNkiqpYCv/W0FwDJ8gn1fTuf6eS0AA9nB5S4cgCLECSBwA0osyutUJCCgoJsehLedSLF6mBkOXjtOpHiuIusIGURVdPrOpZhnEOKKLigvu+O8CCnBng4O6DEVQNYhCAJBC5OuVxphYI0pmtzm56Eh8c25rW+UVYHI2Xweq1v1K31O3bEXhPsZRVVxepMNtQFoJYmkxX9m5i9z5kBHlX9fLYgBEkgcEGUQdraU39IoDePxNQvWZQKgxqCgmrY/CQ8PLZxsYORIlqOuE57TbCXVVQVq/NMoSABLN32pZkl6cwAj6p+PlsQgiQQuBimg/S2o+fMBARgcPwh5n8lm4lSEVeaSdi3Kz4JK9h7gt1WUTVtv25YGPm+IQBoryczOP4Qf17KKLtVWgGcHVDiqgEsQpAEAhfDdJDenniBGb0kMzFSBpFBrRtad6Xp9bcEydO3Qk/Cjl6vUhkT7NasTs86twNwb2Aaf13W8fA73zstwMPZASWuHMBS7QRJkqTBkiT9KknSTUmSfpckaXhl90kgMMVykN6eeIGrulyrg7RVV1r+TfXP6/me5X4SdtZ6FWdPsFudaypMITQwMpc6gd7kFuipE+TjlAAPZweUuHIAS7USJEmSBgKbgD1AP2AfsE6SpAGV2S9rFPdkuj7hDH9eyrA6CFTmCmuFsj5Ru+qK8cqmQoN0Xrb65/TP/ir3k7Az16vYw61Y2ndJyb5gba4pM7ARAD7pyXw5JY6Houvy5eT77BrgUVz/hsc2ZkYviUdi6jsloKQyA1hKo1oJEvAGsE2W5WdlWd4ty/JTwDZgTiX3ywzlyfTBxQf481JGke0Pv/M9s3f8ysRNx9R9tj6xlkUAyiMuZXmiduUV465AuQdpJUsDIKfll/tJ2JnutBX7TjF+41GzbYpb0ZYHk5K+Syv2naLnov1m2ReUuaZUXQ4r9p1iUWIBALlXThMa4M3yoffaNcCjtO/69sQLzP9KtnqdjggoqYwAFluoNoIkSVIk0BT4xGLXx8CdkiQ1cX6vrNM7OoI6gd5c0eXy8DvfqxaRVDcIb60HuQV6AL44cVG1mB5c8p06SLSPDLEqLBM3HStyUyjbDydf5cEl3zF7x6+s2HdKvYEGrUxgxb5TgPHGVn4GrvxBFUVl0NDl5BMZGqAOXkq/LZ+odTn5Vo9X2hmz7kf+veIHq0/g1clqKvfcT94tl93TPaMr9CTsDHfain2nmP+VTHJqFk1C/c3cigNX/sCglQmlPpgUZ80pbV/NzMNLqzHLvpCqy2Hgyh+Y/5VMwvVaAHjnZ0DW1Qpfk639s4e1qdxj1h4gTbe7w32jqS4ltiVJ6g18AbSUZfm4yfZ7gETgQVmWvypDe9eDgoJqHj16tPSDy8GflzJ4+J3vyS3Qo9VoKDAYzMQIQAPMH9CCmdtPqj7vTWPaMXFTIn9d1vFa3ygAZu/4VRU4pY1mYYEsHxrD0PeMqVJMiQwNYOXj9zJ+wzGSUjMBiGsWyoG/Us2OCwnw4mpmHpGhARgwkJyaRUiAN1czje0p56oT5MOVjByahQXySEx95n8lq/1pEuqPBg1JqZlEhgZwLSuXa1l56jlm9JKY0MU44Wx681aWS8FZWA5Uy4bEMGlzom1ikPILrIoz/v3C3+BbsbLSAPLFDHouPqC+3j0lDqluUIXbVUQhOdVo1UWGBrBtfCyA1e0lCaC1z2z8xqNqG7cF+6P1uPVdy9fr+TvNKN5RIRq+yBxsbOiJPdCoXYWvzZb+2fw/LQblwVG5n0zbMT2fcg+6wn3TunVrMjIy0mVZrmW5r9pYSIByV96w2K74xGo4sS+lckd4EDuf6YS31oOCwoeG3AI9msL9GsAATP/4OLkFery1Hiwbco8qRsrTlvJkZipG3loPNZLIUowa1PYjKTWT8RuOka+/JX4/nDYXI4BAHy9uC/YnKTWT5NQsvDw0XM3MpVGwH15ajSqeihh9OLY9g1o3NOtPcmoWBgxqO6Zi5KXV0P2ucMA18mw5iwpHQZlYSGXN9l1cfxy1XmXXiRTVMooMDSApNZPB8Ye4qstFo37bYUDrBqUO1tasOdO2z6YZv2uNCr9rihhFhgaw7qn7ISDM2JCDqsc6wtq0vL9NvRPKd0jJy+cO9011qhirfLstTUJlux4X447wIDaMbsuj8YfUbQaMlseLD97Jqzt/U7fPe+RuXt5+0uoX/MOx7c2+nIqwWVpbBowioNywAPVr+XI5I4e8AvOPzUMDZ9OMIqSQpzfQKNgPDZoixz8QFV5sf5JTs/A0aYfCfuQVGJi4KbHIk+QjMfWL/cxSdTnsOpFS6U+BpbE+4Qy9oyOsDkKWa48s536Uz67Y61TmkDRa0HpVqJ8lPdUPjj9UYbed0n9loFTOpVhjkaEBDGjdQLWSS0OZdzO15lYOa01IoLfatiXvDiucLwppCpmXYe9rcHhlua+pxP4Bn3vr+cv71txwM+8gfDeVzzYIBb70M5Dkn0lOfgEaTw2G6wZyV2hYaDCg8dFgMBjw8dES6ReA5yZNqW3aRFAE/GsZBNaxT3uFVCdBSi/8bWkJBVnsdyz6AvhkNFw8Ueqh+XoD9dKz2ettRSv3wF5vk9f/hZWAt78HEVpfPNfc+uKFAl9qDaT4Z5Obrwdt0ebq1vAhLSuP3BuF51LazsJ4vMl7tB5QUJx8K/e7t8X2g3DtZ29q+3vZ1B8vrQa9RsvS1IfoudjYqKnLb3viBetlqk0GHVcVJcXNsiHhrNVr2J54AaDEqKsSRVetFlsx68iapWYpivYUJaCImLw77N4yuQaLs+Y+HNu+SNuW+0MjWsHfCZCRYvxxEL5AtKn+FHU+lAlP4A645e/SWPmtBy5V7DxmpPwC//wEdzxgx0arlyDJhb9vB0zV4HaL/Y4l8wr8+hlFDbWieAINoWyOVT1gpRJzqW3pIKAs5yrPA93Nwh9b+mMw/oz3/JxPco3zIcuGxBAS6M32xAtFBkN3cun1jo5gQ8LZUq9hUOuGVt9fahRUGcuXF0dp61VKtdTKSEliYovglWTNDVz5A3qLh6hGwX54etxyc20ZPpWQ0GZmUYr2JDMnn42HznJFZ1zr9EhMA7YnnldfD2t/GwE+5R+SL2fkEH+gaNXbsXGRhAXZOStHUAQ07WbfNqlGQQ0AkiQlAQmyLA812bYVuEeW5TvK2Fb5gxrOHYFLJ4vdrcvJZ/V3yVzOyEHroaFAbyAsyIf7moXySeHTs4Ky3/T1pK63E17Dp9g2LVHasGzL8phRHRvz2U8XSLWYd7KGhwZq+XmTlpVLaKDRXErV5RIW5MOY+4wBjfEHkqy2FRrojZT/Jw8V7OWioTbtc5YDFEmfY8/JYWfjiAlulcQN8N9JUKsRTCndEi+JklyL9nSPVvTzKM6aswyaAGgU7I/WA3V+SQmqceR3p6T+2SOM3tI7YIqr3RMlBTVUN0EaCawBlgM7gX8BTwGPybK8tYxtOSzKTnHp2BIRB8Y5paVD7uHpzT+pUW2mi/pMv6zKXJHy23ROyQB4eWgIr+nL+Wu3JsaV+Zwmof7o9ca5I1sxjZpS+jCjl6RaOeo5PDTk6W9FEvbyPMZKz7fJMPixssM+9vx6yWpON9M2XO3GKw1rg4hdruFwPHw5HercCRMP26GnjsUeg7Vyz1gel6rLYdDKBHVONCTQm91TjBa30rapKDkyo7m1/llef3nOb/p+08Al09+udG+IKLtCZFleC4wHegKfAV2A4WUVI0czPLYxD0XXNROjiZsSVdN+wcAWaAuDALQexmi2BbtlNoxpq4Z3mq61UL6sWo1GFaEt44zRPqZiBMbAhPPXbhIScGsSKKKmL7cF+5OcmmUMZNDemp+q4Vuyi0GJ1FPcPKZi5K01fv2ahPrzxeT7zPqTrvcFIEhzk+k97igSYQa4bMJQW3FY0tN8+7jsnIU9UtkUl31g14kUNcy7+11h7J4Sp6ZcUtpOTs1iQOsGDg2JdlR2BGti1CzsVoFB06hadyiwWK0ECUCW5VWyLDeTZdlXluXmsixvqOw+WWP50HvVL/ChpKvqDfvllDiycgso0BtUS0i5YeWLGWavd51IUW/2OoHeFBgM1An0ZucznWjXJIQPx7anTqA3BlAFDoxP6bufjWNGL4kmof78nXaTZuGB6v68AgORoQHENQvlRnZ+idfxd9pNth09BxhvvEAfT7U/ys3z0fgOakE0pT83NSaDaV5mkcFp29FzLpc6v6w4LJxamUPydA9BstdgbS37gNL2tvGxrB7Rxmy/adsTutzu8CAYR2RHML2/TS0h0wKDiteksvLTlYVq5bKzJ45eGGuJpS/f9LWlL9/ytXLsrhMpReYDUnU5vLLjJJO738GhJOMKddNjTNtSMjYE+njSPjJEXfPUJNSfFx68iwmbEtW5qE1j2vHSpyes+uZL6s+KfadIPHuNme28aLKls3Hj1D+gRgSpuhxV3BQrS8whWeHr2XBwCTS9Hx7/1L4ddyLOmr+qKJXdz9Lub2W7q3xeYg7JAThbkFwJy8FUcSlaug1Mt9syyJr62bcOaUzwyhbGHRN/JNXvtiKrzh0xOewMHD3Bza4ZcGQV3PkwPLbJ/hfgBBw551Id++lKiDkkgV2x9PmbuhQV3/Vfl3UcSrpapnT2pvm+Rmz6Xd1+/XraLTEK9C4iRuAaqfNtxeHp/5WwZTeZQ7KGMzONu3I/q1s2fGEhlZPqbCFBxVyIJXHrRs4gyXcYHhiY7j+Hj9KaqgO4NdeE6ftdxTVREtbcPMo2oMg1lOm6Ph4NJz+GmOHwr6UO73e5+mgDDnVr2hFH9bOqWl/CZecAqrsgORLlZvs0/VGCNDcZm/ssyaFdXWYAcgTlGXyKFYctQ+GPnfzeaAh3PfFupfaxojgsNN7OOKKfDnftVhLCZSdwK5RwaB1Gl1MA2W4X0l1Wyur6Kam+Tm62cVD8NklnV5dOZbjRHBYab2cc0U9n1qNyFYQgCVwOJRw602BcixSgyXa7kO6yUtbBpyRxkM9dBiAgwP7i4OwB0pGZxu2Jo/rpjHpUroQQJIFLYfq0ne8ZAEDjwAK3WdhXEcoy+JQkDkpQw4D2zew+YDlzgLS0vEwL97nSd8HR/XQXK9EeCEESuAyWN3Zkg7oADGkVTJ1Ab/66rCtS1l15nztVxSyJ4gafXSdSigxsijgoVXcVcajhaSzHHRBQ8QJ6ZemjvQZIpQqytZpQy4fGqIs8XUGUKly7ysZzuIOVaA+EIAlcBstwaG9/Y03FU+dTuKLLRavRcEWXy9DVh9W0SCv2nWJw/CFm7/hVLcHuzqJkbfAZtvpQsfNFgFkhRYB6/oWBSg4K+3bkAKnMjQ19z/pk/sRNiVzJyHGZzAOODuF3FyvRXghBErgMlilkThfW9v3n0mUiQwMoMBizQFzJMCbM7L/iIPO/ktUFue5SFbM4iht8LKuBms4XDVz5g1r5VEGXWWhBOkCQHD1AmlZArRPozfKhMVYjyzaNaecS4c6OylEHzrG+XA0hSAKXwjTfV70wY0lpQ44OA8b8eQV6A15ajVkJaqVcujtP9JY2+FgmyZQvZpiVVYgMDVDFwUtvHKBuFFSsWmxZ+2iPAdLUsriiy2XipkSrgRN3hAdVuhgpOCJHHThhAbULIgRJ4LL4BRpddmHeuSSnZmHAQKNg/yLl0fMKDG4tRmDb4GOaJLPn4gNmYrRtfKxRHJ5sh5/GWKJk7u5kuz49O2uArG6RZcXhSOvLValOFWMF7oaPcVK+RZgnzTIDrRYfU3CXqKPiFrMOj22MLseYOb24wWfXiRTaNQkxK8PdKNifbeNjb4mDn1KvGk5d09s1c4LSjrX+m/bRHudTAidMr9UV/sfOTqRaUlsVsb5cFWEhCVwXb6MgeeVnFonqssQdoo5KWsyaqsthe+IF5n8lWw3KCA30oXd0RJFgAq3lHZx3az5pVJe77D5gOco9ZYkrRpaV9v9TgmvcOaimshGCJHBdfIw1mAqybzB+Y9EUTUqhQHcpQFaRTAfFBRMkp2aZX7eJIPW5t6lTrsveuGpkmbskfHVnhCAJXJdCl93NjOvqfIlptdqImr5Ehga4TVXM8mY6KFMwQZ5JeXk3zPbtypFl1TGVj7MpVZAkSVokSVINZ3RGIDAlXW+8sf0MNwEDIQHearVapZKtEn3nLlUxyzNhX6ZggvzsW2/08nfWZdkNV48sEwEXjsWWoIYJwFBJkmYB8bIsi/TgAqdw8O9segNajYGXetxG/3Z3qKUnAPXJdEYviUAfT5eqilkSZZ2wL1MwwXkT16anr7277nCcGThRXlw14KIqUGr5CUmSJGAR0As4DkyRZXmf47vm2ojyE07gigzL2xr/nvYnBIWb7XaX2keWOLSkQvIBWNfH+Pfsa+AhvPL2xl1KYrgqFSo/IRvpDfQB/IC9kiR9LEnSbQ7oq0BwC+/AW3/nFg35dsewV4dP2CtBDZ5+QowcgKsGXFQVbP7GyrL8BRAFPA90B36XJGmeJEkBjuqcoJrjYyJIOTcqrx92wikT9ooguWFAg6vjygEXVYUyPULJspwvy/ICoBmwGaM4/SlJ0uOO6JygmmNqIeUUvyjWXXDKhL0QJIfh6gEXVYHyZmqoDewDbgfigLWSJE0EnpZl+Uc79U1Q3fHQglcA5GVCTkaphzt7FX1ZccqEvRL27WRBcvXP3h64Q8CFu1OqIEmSVBdoa/LTGqhZuNsAnASOAF2ABEmS3gZeENF4ArvgE2gUJCtzSKYoq+g3JJwtMrlsOQntCqJkDbvMiSlh304UJHf57O1BdUvl42xscdn9A2wHXgJigB+AV4AHgFqyLLeQZXkMcCcwC5gKvOGY7gqqHYWLY0uzkMQq+kIUC8nTeYIkPnuBvbBFkOKBUcCdsiyHyrL8sCzLc2VZ3ivLsvrYWji/9AawABjhoP4KqhuF80iZGdes7laqxIpV9IVUwhyS+OwF9qJUl50sy+PL2OYvQHipRwkENpCS40UEsP2QTK+2OaW6gz4c217dpixcrFYDYp7isnNulgZFlKr1Zy+oMI5YqLAbGOKAdgXVkODaIQDkZt3gwcUH+POS0XVn6Q5qHxmiWkqWmcGr1Sp6NajB+Vkaqv1nL6gwdhckWZavybK8xd7tCqonPv7GNIqhXjlc0eXy8DvfczjpqpkYLR8aw8RNicze8Ssr9p1yubIFTkV12Tk/j50rlowQuBdiKbfAtSkMaujaxB9vrQe5BXoetSJGf13W0STUn4+Pnq/eq+jzK2cdkshgILAHQpAErk1htoYgTTYbRrc12/XcA5KZGGnQkJSa6dar6NcnnCm2j0oAR4moqYOc57ITGQwE9kIIksC1Kawam3cznZc/O2m2a9zGY+ogOLB1QzMxcsdV9HapSFoJLjuRwUBgL8qbqUEgcA6FLrvzF6/wV5Zx0HvuAYlxG4+ph8zpdzftI0PUEhTuuoq+d3QEGxLOqhaFMriXaT1PJYR9iwwGAntRJQRJkqRhwAYru5bLsjyp8BhPjAt6RwIhwDFgmizLR5zVT0HZyTD4EgR4FWSazRmZMvz9I+x8ppPbr6K3DJ0eHH+IZUNimLQ50fb1PJUU1ODun73ANagqLruWwCkg1uJngckxSzBmkXgLeBTIB76RJCnSuV0VlIVjF/MAqKHJNgtgaBYWyJax7dVAh6GrD1eJOYoKVyStxLBvgaCiVCVBOibL8iGLnzMAkiQ1BsZhtIiWybL8OcaCg9eA6ZXVaUHpdIk2Pi8EeWQz0WTO6MOx7WkfGcLOZzpRJ8iHKxk5VWbivELreSox7FsgqChVSZCOl7C/G6AFPlE2yLKcA+wEeju2a4IKUTiHpNHn8/eVa0UshTvCg/hy8n1VauK8Qut5KinsWyCwB24vSJIkRQBhwD2SJP0hSVKeJEmyRY2mO4FrsixfsXj7KaCRJEni7nVVTGoizenVyKrbSnFzvdY3yqXmKsoTwl3h9TymFWMFAjfDpYMaCgMRHivhkEsYLR+ASGAGkA0MB9ZLkuQpy/IajOUyrJUcVVJIBwE37dJpgX1Rsn0Dg1rUhmLcVq42cV6ekgzW1vNYC3Qodi5JXwAFuca/hYUkcENcWpAAX6xHzynsBwYAfYD9siwrArNHkqRwYA6wBtBgrN1kiabwt94+3RXYHbMy5qUX6XMVyhPCXdp6HuV9xYZQ55k8UwlBErghLi1IvI4cAAAAE+xJREFUheUtNKUeaJwLsuQLoLskSaFAOlDDyjHK47c160ngCnjfspDcqYx5eUK4K7yeRwiSwM2pCnNIsZIkjbayyw9jaHc6IAPBkiTVtjjmdiBZluVcB3dTUF60nrfmQ0qpGutqlCeEe3hs42Kj6Up1Syoh3yAESeCWuL0gYVxvtFqSpBbKBkmSPDC68g7KspwHfF24a4DJMT7AQ8A3TuyroDwobjsTl12Fc745CaeWZFDKl4MI+xa4JVVBkNYAZ4HtkiQNliTpYYwuvLuB5wFkWT4LrAPekSTp2cJjvgRqA/Mrp9sCm7EoY26XnG9OwqklGUwtJCcmVxUI7IXbC5Isy9eAzsARYBGwDQgE7pdl+bDJoeOAlcALwFaM82c9ZFk+5dweC8qMEvpd6LLrHR1hNRS6TDnfnIDTSzKIOSSBm+PSQQ22UmgBDS7lmBzg2cIfgTthYSHZJeebg6lwCHd5UATJwwu0XvZpUyBwIm5vIQmqAaog3QpqqHDONwdTKSUZRNoggZtTJSwkQRVHddmZr0NSAgZ6Lj6gbnNYwEAZqZSSDKogifkjgXsiLCSB62Mlyg6cHDBQDpQQbmsRgUoIt10jAtVM32L+SOCeCEESuD5WXHZODxgoJ6VFBD64+ECxEYFlFisl7Fu47ARuihAkgevjbR7UYC1gQKobZDY34yqiVFJE4IOLD3BFl4u31oP2kSFm7ytX+LpiIYmQb4GbIgRJ4Pr4mId9V0rAQDmx7NPg+EPIFzMYHH9IFaPcAj0TNyVWPHxdBDUI3ByNwWAt56igNCRJuh4UFFTz6NGjld2Vqk/ievjv08a/PYxxOHoDaDTWEx0aAIMBPGzJgugkDECB3oDp7abRgNZDo24v7rXNl6EvMJ7p9h4w7GP7X4RAYAdat25NRkZGuizLtSz3iSg7gesTfvetv/X5QKFpX8yzlKbwp7j9lYGGwpvNUl30FtutvC4zYXeV400CQeUjBEng+tSPgUlHIf2c2eavf7tE2ybB1PQrugg0/WYeR5LT6NE83Fm9LJH0m3m8vut3Lly/lW+ufi1fXup9FzX9vDiXdpMXt59Q973xSDQNg8sRLefpBw3b2qPLAoHTEYIkcA9Cmxl/ClmfcIbZB2/S7C/fEgrg1eC10MhKL9yn9ietGU1C/Vk5rDWTNify/WUdiXt8WT40hvHbj5Gkj1bf88R3rrHAVyBwJiKoQeCWuGM+OwANGkICvc0CHR565zuSUjMBmNi1qctFCgoEzkIIksAtKSl6zRVTCDUJ9ScyNICk1EwGxx8CYPnQGLy0GvIKjJNdTUL9GdWxiUuGrwsEzkC47ARui2WyUiWFkKuIEZinEALMEqs+EFXXTIw+Gt9B7bNNJcsFgiqGCPsuJyLs23WQL2aY5bPbPSUOqW5QCe+oPCxdeFBUjEyPFWIkqGqUFPYtXHYCt8bV89lZYq2C7Mphra1ac6WWLBcIqhhCkARui7vkszPF3QRUIHAmQpAEbok75bNTcEcBFQiciRAkgVviTvnswD0FVCBwNiLKTuCWVEoBvApQmoCKiDqBQAiSwI0paeB2tYAAdxNQgaAyEIIkEDgJdxJQgaAyEHNIAoFAIHAJhCAJqhXrE84UGzhQ5pLhAoHArghBElQb1iecYfaOX61Gs5WrZLhAILArQpAE1QZ3yRAuEFRXhCAJqg3ukiFcIKiuCEESVCssRann4gNCjAQCF0EIkqDaYS3B6bIhMUKMBIJKRgiSoNohEpwKBK6JECRBtUIkOBUIXBchSIJqg0hwKhC4NkKQBNUGZ2UIF4tvBYLyIXLZCaoNzkhwqiy+3ZBwtkjUnmX5cpG7TiAwR1hIgmrF8NjGxUbT2SPBqVh8KxCUHyFIgipFZbvLxOJbgaD8uJXLTpKkBUArWZa7W2z3BF4BRgIhwDFgmizLRyyOmww8DdQHfgdmyrL8pRO6LnACruIusyy613PxAQAhRgJBKbiNhSRJ0iRgWjG7lwBTgbeAR4F84BtJkiJN3j8deBtYC/QHkoD/SpIU68BuC5yIK7nLxOJbgaDsuLwgSZJUX5KkTRhFJ93K/sbAOIwW0TJZlj8HegHXgOmFxwQAM4EFsizPLbSKBgJHgdlOuRCBw7Gnu6yirj+x+FYgKDsuL0jAPCAG6A78bGV/N0ALfKJskGU5B9gJ9C7c1A6oaXGMAfgU6C5JkrdDei5wOvbIVVfRMhVi8a1AUD7cQZDmA1GyLH9bzP47gWuyLF+x2H4KaCRJkl/hMQCylWM8gUgEVYaKussq4voTi28FgvJTaUENhYEIj5VwyCVZlr+WZfm3UpqqCdywsj2j8HdQ4TGm2yyPqVHKOQRuRHHuMlstJMughMHxh1g2JIZJmxNLtbZKW3yrtFnR9U4CQVWkMqPsfIENJezfD3xtQzsawFDMdgC9jccIqgCWFoqpkAyOP1RuUbI1Us4Zi28FgqpKpQmSLMs6bglCRUjHuoUTVPj7RuExGiAQcytJOaZIsITA/bDmLrNm7ZRFlJYNiVHFCGxz/ZUkNqaLb9cnnLEqXMq1COESVDfcYQ6pNGQgWJKk2hbbbweSZVnO5dbc0e1WjskBzjq2iwJnYO9cdbZEypV3sW1FAycEgqqIWy2MLQbFrTcAeA9AkiQf4CFgd+G+H4DMwmN+KjxGg3E90oFC0RK4OfZ0l1kupG0U7I/WAzMrCyj3Ytve0RFsSDhbxGoTKYYE1Rm3FyRZls9KkrQOeEeSpEDgL4yLZGtjjNBDluWswiwPsyRJygcOAU8A9wJdKqXjAodgq7usJExFoUmoPxo0JKVmEhkaQJNQf/66rGPgyh/U7eURjooETggEVRW3F6RCxmFcCPsCxnmiY0APWZZPmRzzKsYMDmOBGcBvwL9kWT7o5L4KXBxL1x/csoQiQwNoFOxHcmoWULF0QCLFkEBgjsZgsBZ8JigNSZKuBwUF1Tx69Ghld0VQAuUNHLB8n6ULD6wLR3nOJ1/MMAuc2D0lDqluEAJBVaR169ZkZGSky7Jcy3JfVQhqEAisUpHAAcsyFbYsti3P+USKIYHgFkKQBFUWeyZbtUU4yno+kWJIIDBHCJKgymKvZKu2CkdZzidSDAkERRGCJKjSVDTZalmFw9bz2XvNlEBQFRCCJKjylDb/U1KpiW1Hz5VZOGyZbxoe25jX+kZZFUWl7df6RolMDYJqhRAkQZWnpPmf0gIRtideAOCRmPo2C4etgQqWgROWbQsxElQ3hCAJqjSlzf+0jwyxKRBhUOuGVtu3FA4RqCAQlB8hSIIqiy3zPxM3JbJ8aIxdqsyKQAWBoGIIQRJUWWwNHDiUdLXCVWbLcj4RqCAQWKeqpA4SCIpgmWzVNIuCIhKv7Diprgt6ICrcLBPDnH53q5kVisvAsD7hDO0jQziUdLXI+UwzM4haSAJB6QhBElRpTGsPzd7xKxsSzqrWy64TKXxx4iK/p2SQr9fzd9pN8/e+f4TcAj2Hk67yxYmLZu81bdNb60Fugd7sfJaphhRREmIkEBSPcNkJqgXWsij0jo4gMjSApNRMVYwiQwPYMra9KjLeWg+Gd2hsdQ6ofWSI2XHtI0OA8mWCEAgEQpAE1QRrWRSu6nLJ19+qXu+l1fBG/2hmfXZSFZncAj0vbz9pNfBh4qZEs+Mmbkosd0CEQCAQ2b7Ljcj27Z6k6nJ4cPEBrujMazJ6aTXkFdy6F5qFBbJ8aAwTNxnrE73WN4re0RFWM36bHme6XYiRQFAUke1bIChk14mUImI0sevtbBzdzmzbA1Hh3BEeZLbwtbgMDIeSrjK3391FtiuBDaIMuUBgGyKoQVCtMJ33Udh14h92/vKP2XFfnrjIqI5NzAIRrGVgGLb6EFd0uXhrzZ/tJm1OLGI5iYAGgaBkhIUkqDak6nLM5n0AvDw0JKdmcTbNWAG2UbCfGujw/+3df6zWVR3A8TegUI5LbYmZmxlIfrTCFWH4K+Z0U3No5K8oHNZwpWLmKJstNxutXIZpJXNzZORKRc1ZopskZpbJH87WZtMPkpTLqSGVPDQHKPTH9/tcn/vwIBf2/Pje+7xf29333nMe7g47+97P95zz+Z7zdjs31Hdg2LhlG2Ng8HeubFinmvPjP5rYIO0FA5L6QnNAWXX5iUw58AC273hr3Wj/sWNYfuEx3HXxcUMSGNa9smuiQhw8wLL5Mxg/biw7YTAoXX3f03xn7keGZN8tmz/DtSRpGAxI6gvNuygc8d4Bzph+yJDPbN+xk7XPb9olI+9HD69rmTW39vlNg0FnJzB5YALP/WsL825ZOyT7bu3zm3rwP5ZGHteQ1Bda7aKw+q8vD/nM5IEJnDH9fYO7MjTurDCrLIPihdgFx31g8HfWd2qYNeU9nHbjY4O/77aFn2DdKzXXjqRhMu17H5n2PXI1T9/d9PkZXHZ7kXwweeJ4Nm7Z1jJtu/HftTpyolVKuKnf0lCmfUulPe3IXc+Y29NxFI1JCh45IbWHAUl9ZTg7cm97c8fgetCejqPwyAmpfVxDUl9pXktq1Lgjd+OuDPV1oVZTcHsKcPXf4S7f0p65hrSPXEMa/fLl2pAkhYeumE0cPLDL53Z3NAUw5AgKSa4hSXut1a4Ml93+VMupt/q2Qq145IQ0fAYkqYlJClJvGJCkBiYpSL1jQJIaDCcLr56kIKm9zLKTGgw3C891Ian9DEhSk7cLNiYpSJ3jlJ0kqRIMSJKkSnDKbt9NqtVqzJw5s9ftkKQRo1arAUxqVWdA2nc7gLG1Wm1zrxsiSSPIJIq/n7tw6yBJUiW4hiRJqgQDkiSpEgxIkqRKMCBJkirBgCRJqgQDkiSpEgxIkqRKMCBJkirBgCRJqgQDkiSpEgxIkqRKcHPVLouIzwFXA1OBvwPXZuZtPW1UH4mIscCXgEsp+uAV4NfANZlZKz8zE1gKzAQ2AyvK+u29aHO/iYh7gaMzc1pD2anAd4EPU/TZTZl5fY+a2DciYjbwPWAG8F/gV8A3M3NLWd/WfnGE1EURcR7wS2A1MBd4FPh5RJzby3b1mW8ANwEPUPTB9cCFwN0AETENWAO8Dpxf1i8GbuhFY/tNRFwAfKap7HhgFfAscDbFPfSDiPh691vYPyLiWOC3wMvAWcAS4AJgeVnf9n5xt+8uioj1wJOZOa+hbCXF0+BRvWtZf4iIMcAm4I7MXNRQ/lngTuBjwGXAqcC0zNxW1l8C/AQ4LDNf7HrD+0REHAI8DfwP2FofIUXEw8DEzDy24bPfpxjpHpyZW3vR3tEuIn5ffntSZu4syxZRPKBNB35Dm/vFEVKXRMRU4HCKIW+je4AjI2JK91vVdwaAXwC3N5U/W14PpwhG99eDUekeYFxZp85ZTjF7sKZeEBHvAGbT+r55N3B811rXRyLiQOCTwM31YASQmcsy83CK84za3i+uIXXPkeU1m8rXl9cANnSvOf0nMzcDl7eomltenwEOpamPMnNjRGym6CN1QERcBHycYi1iaUPVVGB/3v6++V3HG9h/pgNjgH+XszhzgDcoHuYWA1PoQL84Quqed5XX5hNma+W15ZG+6qyImAVcBdwH/KcsbnUKcA37qCMi4jDgh8ClmflqU7X3TW9MLq8rgFeBM4FvAwuAm+lQvzhC6p4x5bV50a5e3vJIX3VORJxAsSi7AbgImFBWtVpYHYN91Hblut6twIOZ2Tz9A7u/b+rsk84YX17/1LDe+kjZX0uBW8qytvaLI6Tuea28Nj85DDTVqwvKRIaHgReAUzJzE2897bV6upuIfdQJi4CjgSsiYr+I2I8yCJXf7+6+qf9sn3RGfaTzYFP5QxT9c0z5c1v7xYDUPfW51mlN5dOa6tVhEbEYuAN4ApidmS8BlO9WvEhTH0XEQRQ3mn3UfucCBwIvAdvLrwUUCSbbKRbW38T7ptueK68TmsrrI6cNdKBfDEhdkpnrKTqx+Z2jc4DnMvOF7req/0TEQop3i+4CTs/M5ie51cCZETG+oewcipvv0a40sr98meJpu/FrFfDP8vu7gceAs8vporpzKJ7Cn+xqa/vHM8A/gHlN5fXkhifoQL/4HlIXRcQXgJ8ByyhuurOAS4B5mbmyh03rC+VIZwOwkeIFvzeaPrKe4mn9z8DjwI3AERRvqt+amZd2r7X9KyJWACc2vId0MsX06t0Ui+zHA98CrsrM63rUzFGvnNa+gyKzbgVFFuQSit0YvtaJfnGE1EWZuQK4GDiNIqvrJGCBwahrTgcOAA4D/kDxlNf4dXpmPkvxvtFEincqFlNkgH21Fw0WZOYjFE/eR1HcN/OBKw1GnVX+XTob+BDFA/QiioB0ZVnf9n5xhCRJqgRHSJKkSjAgSZIqwYAkSaoEA5IkqRIMSJKkSjAgSZIqwYAkSaoEA5IkqRIMSJKkSjAgSZIqwQP6pBEuIt5JcVzADuCDmbm1oW458EVgfmbe2aMmSsPiCEka4TLzdeAa4FBgcEfyiLgWWAh8xWCkkcDNVaVRICLGAX8BDgKmUhzJfgNwTWYu6WXbpOEyIEmjRETMAe4H1gAnU5xbc3lvWyUNn1N20iiRmauAp4BTgJV4hpNGGAOSNEpExPnAR8sfa5np9IdGFKfspFEgIk6lmK67H9gOnAdMz8xnetowaS84QpJGuIiYBdwLPE5xjPTVFCng1/ayXdLeMiBJI1hEHAU8AKwD5mbm1sz8G/BT4NMRcUJPGyjtBQOSNEJFxPuB1cBrwKcyc3ND9RLgdeC6XrRN2heuIUmSKsERkiSpEgxIkqRKMCBJkirBgCRJqgQDkiSpEgxIkqRKMCBJkirBgCRJqgQDkiSpEgxIkqRK+D+M15s/q7GgZwAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Let's do the regression\n",
    "Phi = compute_design_matrix(X, phi)\n",
    "w_LS = np.linalg.lstsq(Phi, Y, rcond=None)[0]\n",
    "Y_p = np.dot(Phi_p, w_LS)\n",
    "fig, ax = plt.subplots()\n",
    "ax.plot(X, Y, 'x', markeredgewidth=2, label='Observations')\n",
    "ax.plot(X_p, Y_p, label='LS Prediction (Step Function Basis)')\n",
    "ax.set_xlabel('$x$')\n",
    "ax.set_ylabel('$y$')\n",
    "plt.legend(loc='best');"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "nbpresent": {
     "id": "2b0e3102-b7e0-42fb-adbf-5907c8862250"
    },
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "### Questions\n",
    "\n",
    "+ Experiment with different number of centers.\n",
    "+ When are we underfitting?\n",
    "+ When are we overfitting?\n",
    "+ Which one (if any) gives you the best fit?"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "nbpresent": {
     "id": "bcc25b56-10f6-4765-9dc4-6df275ae75d5"
    },
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "### Issues with Least Squares\n",
    "+ How do I quantify the measurement noise?\n",
    "+ How many basis functions should I use?\n",
    "+ Which basis functions should I use?\n",
    "+ How do I pick the parameters of the basis functions, e.g., the lengthscale $\\ell$ of the RBFs?"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "nbpresent": {
     "id": "3152b401-5400-4b95-937b-0e83811b53f5"
    },
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "## Probabilistic Regression - Version 1\n",
    "\n",
    "+ We wish to model the data using some **fixed** basis/features:\n",
    "$$\n",
    "y(\\mathbf{x};\\mathbf{w}) = \\sum_{j=1}^{m} w_{j}\\phi_{j}(\\mathbf{x}) = \\mathbf{w}^T\\boldsymbol{\\phi}(\\mathbf{x})\n",
    "$$\n",
    "\n",
    "+ We *model the measurement process* using a **likelihood** function:\n",
    "$$\n",
    "\\mathbf{y}_{1:n} | \\mathbf{x}_{1:n}, \\mathbf{w} \\sim p(\\mathbf{y}_{1:n}|\\mathbf{x}_{1:n}, \\mathbf{w}).\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "nbpresent": {
     "id": "d5293fe4-2cf1-4316-8e6c-b72ae908535b"
    },
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "### Interpretation\n",
    "+ $p(\\mathbf{y}_{1:n} | \\mathbf{x}_{1:n}, \\mathbf{w})$ tells us:\n",
    "\n",
    "> How plausible is it to observe $\\mathbf{y}_{1:n}$ at inputs $\\mathbf{x}_{1:n}$, if we know that the model parameters are $\\mathbf{w}$?"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "nbpresent": {
     "id": "1442dd37-f05a-408c-939e-49caa69f0371"
    },
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "### Properties of the Likelihood\n",
    "If the measurements are independent, then (probability theory):\n",
    "$$\n",
    "p(\\mathbf{y}_{1:n}|\\mathbf{x}_{1:n}, \\mathbf{w}) = \\prod_{i=1}^np(y_i|\\mathbf{x}_i, \\mathbf{w}),\n",
    "$$\n",
    "where $p(y_i|\\mathbf{x}_i,\\mathbf{w})$ is the likelihood of a single measurement."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "nbpresent": {
     "id": "3ccf5b60-4ea0-40f3-8950-71ce885c6155"
    },
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "### The Gaussian Likelihood\n",
    "+ We assign:\n",
    "$$\n",
    "\\begin{array}{ccc}\n",
    "p(y_i|\\mathbf{x}_i, \\mathbf{w}, \\sigma) &=& \\mathcal{N}\\left(y_i| y(\\mathbf{x}_i;\\mathbf{w}), \\sigma^2\\right)\\\\\n",
    "&=& \\mathcal{N}\\left(y_i | \\mathbf{w^{T}\\boldsymbol{\\phi}(\\mathbf{x}_i)}, \\sigma^2\\right),\n",
    "\\end{array}\n",
    "$$\n",
    "where $\\sigma$ models the **noise**.\n",
    "+ We say:\n",
    "\n",
    "> We beleive that our measurement is around the model prediction $\\mathbf{w^{T}\\boldsymbol{\\phi}(\\mathbf{x})}$\n",
    "but it is contaminated with Gaussian noice of variance $\\sigma^2$."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "nbpresent": {
     "id": "0dab27d1-2676-4e3d-9016-8e387f915fe7"
    },
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "### The Gaussian Likelihood of Many Independent Observations\n",
    "We have:\n",
    "$$\n",
    "p(\\mathbf{y}_{1:n} | \\mathbf{x}_{1:n}, \\mathbf{w}, \\sigma) = \\mathcal{N}\\left(\\mathbf{y}_{1:n} | \\mathbf{\\Phi}\\mathbf{w}, \\sigma^2\\mathbf{I}_n\\right).\n",
    "$$\n",
    "Let's look at the function form ([Wiki](https://en.wikipedia.org/wiki/Multivariate_normal_distribution)):\n",
    "$$\n",
    "p(\\mathbf{y}_{1:n} | \\mathbf{x}_{1:n}, \\mathbf{w}, \\sigma) \n",
    "= (2\\pi)^{-\\frac{n}{2}}\\sigma^{-n} e^{-\\frac{1}{2\\sigma^2}\\lVert\\mathbf{\\Phi}\\mathbf{w}-\\mathbf{y}_{1:n}\\rVert^2}.\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "nbpresent": {
     "id": "cc85d310-8b96-4802-b539-aa4d0d4edd8e"
    },
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "### Maximum Likelihood Estimate of $\\mathbf{w}$\n",
    "\n",
    "+ Once we have a likelihood, we can train the model by maximizing the likelihood:\n",
    "$$\n",
    "\\mathbf{w}_{\\mbox{MLE}} = \\arg\\max_{\\mathbf{w}} p(\\mathbf{y}_{1:n}, |\\mathbf{x}_{1:n}, \\mathbf{w}, \\sigma).\n",
    "$$\n",
    "+ For Gaussian likelihood\n",
    "$$\n",
    "{\\tiny\n",
    "\\log p(\\mathbf{y}_{1:n}, |\\mathbf{x}_{1:n}, \\mathbf{w}, \\sigma) =\n",
    "-\\frac{n}{2}\\log(2\\pi)\n",
    "-n\\log\\sigma\n",
    "- \\frac{1}{2\\sigma^2}\\lVert\\mathbf{\\Phi}\\mathbf{w}-\\mathbf{y}_{1:n}\\rVert^2.\n",
    "}\n",
    "$$\n",
    "+ And we find that:\n",
    "$$\n",
    "\\mathbf{w}_{\\mbox{MLE}} \\equiv \\mathbf{w}_{\\mbox{LS}}.\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "nbpresent": {
     "id": "c0097f83-24f6-4af6-9e87-4b304e915371"
    },
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "### Maximum Likelihood Estimate of $\\sigma$\n",
    "+ You just have to maximize likelihood also over $\\sigma$.\n",
    "+ For Gaussian likelihood:\n",
    "    + Take the derivative of $p(\\mathbf{y}_{1:n}|\\mathbf{x}_{1:n},\\mathbf{w}_{\\mbox{MLE}},\\sigma)$ with respect to $\\sigma$.\n",
    "    + Set to zero, and solve for $\\sigma$.\n",
    "    + You will get:\n",
    "$$\n",
    "{\\tiny\n",
    "\\sigma_{\\mbox{MLE}}^2 = \\frac{\\lVert \\mathbf{\\Phi}\\mathbf{w} - \\mathbf{y}_{1:n}\\rVert^2}{n}.\n",
    "}\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "nbpresent": {
     "id": "196ab55c-4504-4a03-b9d5-f3803496b4bb"
    },
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "### Making Predictions\n",
    "+ How do we make predictions about $y$ at a new point $\\mathbf{x}$?\n",
    "+ We just use the laws of probability...\n",
    "+ For the Gaussian likelihood, the **predictive distribution** is:\n",
    "$$\n",
    "{\\tiny\n",
    "p(y|\\mathbf{x}, \\mathbf{w}_{\\mbox{MLE}}, \\sigma^2_{\\mathbf{\\mbox{MLE}}}) = \n",
    "\\mathcal{N}\\left(y\\middle|\\mathbf{w}_{\\mbox{MLE}}^T\\mathbf{\\phi}(\\mathbf{x}), \\sigma_{\\mbox{MLE}}^2\\right).\n",
    "}\n",
    "$$\n",
    "+ Let's try it out."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "nbpresent": {
     "id": "2cc38b5c-5278-4838-a60c-6801a34b35a2"
    },
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "### Polynomials"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "nbpresent": {
     "id": "28427bc1-059f-43da-b2d4-1318e913e7e5"
    },
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaQAAAEZCAYAAADYGFGeAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nOydd3gU5fbHP9vSCyQBkqB0GKWr9C4iCIIoVlAQL1IE7KLYQAUbPxSRIliuCiKieNVLFdErChYEvSoXHaUIQkggJKRvks3O74/Z2WxLskl2N7vJ+3mePEmmvrM7837nvOe85+gURUEgEAgEgrpGX9cNEAgEAoEAhCAJBAKBIEgQgiQQCASCoEAIkkAgEAiCAiFIAoFAIAgKjHXdgFBFkiQLqqDn1nVbBAKBIISIA6yyLLvpjxCkmqMHdLGxsfF13RCBQCAIFfLy8qCC0TkhSDUnNzY2Nn7fvn113Q6BQCAIGXr06EFeXp7HkSXhQxIIBAJBUCAESSAQCARBgRAkgUAgEAQFQpAEAoFAEBQIQRIIBAJBUCCi7AKMoihkZmZiNpuxWq113RyBQCCoNXq9noiICJKSktDpdDU+jhCkAKIoCidPniQvL4/w8HAMBkNdN0kgEAhqTWlpKfn5+RQXF9O8efMai1LICZIkSd2BH4DWsiyfcFg+HHga6ARkAMtlWX7BZd8ewGKgB2qGhbeA+bIslwai7ZmZmeTl5dGsWTMSEhICcUqBQCDwDYoCitX2o4DeCPpyr09WVhYZGRlkZmbSpEmTGp0ipHxIkiRJwGZchFSSpH625b8D44B1wP9JkvSAwzbtgM+BIuAG4AXgPmBJQBoPmM1mwsPDhRgJBILgRLGCtQzKSsFSDKVmKCkEcx6Yc6E4F4rzoCQfrM7v8QkJCYSHh2M2m2t8+pCwkCRJMgLTgOcAT9bMU8CPsixPtP2/XZIkE/CoJEnLZFkuBuYCOcBYWZZLgK2SJBUCyyRJelaW5ZP+vg6r1SqG6QQCQd2hKIBSbuXYLR6bEGnL0X7b0OlBpwN0qlVU5nlQyWAw1Mo3HioW0gBgEapV85DjCkmSIoBBwIcu+2wEGgH9bP8PBzbZxMhxG4NtnUAgEIQ+igJWK5RZoKwELGYoLVKtmuJc1dJxsnYKVEvIagEUVXj0JjCGl/8YTLYhOoMqTn4iVATpN6CNLMtPAhaXdW0AEyC7LD9k+y1JkhQFnO+6jSzLZ1B9SZLPWywQCAT+QlFsQ2sWsDiITrFNdIodBKc43yY6xeo+KKAzuIhOmIvo1DxSrjaExJCdLMsZlazWsm27JuvLs/2Oq2Qbbbu4mrdOIFAjKGsT7ioQuOEaRGD/u8xluW0YDsqH1XR6VVjQ1Zm41IRQsZAqQ/u0lQrWW6vYRmfbRuAjvvvuO+644w769u1Lly5duPzyy1m4cCEnTtiDIjlx4gSSJPHJJ5/UYUtrT15eHnPnzsUx6/vEiROZPHly3TVKEDp4G0RQnKsOuZUWqsNwVlu3pjeolo19aE2zdAwOfp/QoT4IUo7tt6uVE+ewPreCbQBiHI4RUqz59i8y84s9rsvML2bNt38FsjkALF++nFtvvRVFUXj88cd5/fXXue2229izZw9XX30133zzTcDb5E9kWeajjz5ycuTOnz+fxx9/vA5bJQgaNMvGanEQnSJ1CM3s6M/JK49eKy0Ea4m6n110wl1ExxiyolMZITFkVwWHgTKgncty7X9ZluV8SZJOum4jSVJTVJFy9T8FPWu+/Yt5n/yPtd8eY/20PiTFhNvXZeYXM/7V7/jzdD4Ak/q2Ckibdu7cybJly7jnnnu444477Mt79+7N1VdfzbRp07j33nvZtGlTQNpTV7Rr53orCuo19mEzD8Nr3kSu6XSqT6ceCUtNCXkLSZZlM/AVME6SJMdv9FpUy0cbS9kBjJEkKcxlmzLgywA01aeM6pJC+6Yx/Hk6n/Gvfme3lBzFqH3TGEZ1SQlYm1auXEnbtm2dxEgjKiqKhQsXcu7cOdatW2dfnp6ezpQpU+jatSuXXXYZb775ptN+e/bs4YYbbuCiiy6iZ8+ezJw5k8OHDztt89lnnzFu3Di6dOnCgAEDeP755ykpKQ+mXLZsGVdccQUvv/wyvXv3ZsSIETz88MMMHDjQLUT1kUceYejQoSi2jmPDhg2MGzeO7t2707VrV6655ho+/fRTAL7//ntuvvlmACZNmsTEieqsA9chO7PZzNKlSxkxYgRdunRh1KhRbNiwwem8Q4cOZfny5Tz33HP069ePbt26MWXKFI4dO2bfJisri/vvv5/+/fvTtWtXxo4dy8cff1z5lyLwDd4EEThZOq6Ra/oqIteEGEE9ECQbC4H+wHuSJI2UJGkBMAd4RpblQts2i4AU1PlHoyVJ0ibFvirL8vE6aXUtSIoJZ/20Pk6iJKfnOYmRq+XkT7Kysvjf//7HkCFDKtymVatWXHjhhXzxxRf2ZUuXLqV58+asWLGCYcOG8dxzz/HOO+8A8PfffzNz5kw6d+7MK6+8wsKFCzly5AjTp0+3C8amTZuYPXs27du3Z8WKFcyYMYMNGzZw//33O53777//5j//+Q8vvvgi99xzD2PHjuX06dNOvp+SkhJ27tzJmDFj0Ol0rFmzhieffJLhw4ezevVqFi9ejNFo5P777ycjI4NOnTrx1FNPATBv3jzmz5/vds2KojB16lTefvttxo8fzyuvvEK/fv2YP38+K1ascNr2rbfe4ujRozz77LMsWLCAAwcO8PDDD9vXz5kzh8OHD/Pkk0/y6quv0rFjRx566CG+//57L78lQaXYRadUFR3Nn6P5cJx+2yLXLFrkGqqwVBi5Vr+G1vxFfRiyQ5blLyRJuhZ4EvgYOAnMcUwdJMvy77b0Qv+HOv8oE3gRcO9FQgRNlDQRGvHSVwABFyOAkyfVecXNmzevdLsWLVqwZ88e+/+DBw+2d+oDBw7k9OnTrFq1igkTJvDLL79gNpuZPn06zZo1AyAlJYXPP/+cgoICoqOjWbx4MZdeeinPP/+8/ZjJycnMmjWL/fv3c8kllwBgsViYO3cuvXv3BlShSElJYcuWLfTq1QuA3bt3k5OTw1VXXQWogRe33347M2bMsB+7efPmjBs3jh9//JGRI0fStm1bQB2m8zRUt2vXLvbu3cvSpUu54oorABgwYAAWi8V+nY0bNwagUaNGrFy50j55+vjx4yxbtoy8vDxiY2PZu3cvs2bNYtiwYQD06tWLRo0aYTKZqvh2BHbcItaU8sg1qxX7sFo9ilwLJUJOkGRZfgs1B53r8o+Aj6rY92ugj18aVkckxYSzfMLFdjECWD7h4oCKEWC3WKrqHA0Gg31bwN5Ja1x22WVs3bqVU6dO0a1bN8LDw7nuuuu44oorGDRoEL1796Zr164AHD58mPT0dGbNmoXFUj49beDAgZhMJr755hu7IAF06NDB/rdOp2PMmDFs3LiRxx9/HKPRyJYtW+jUqZNdZB555BEAcnNzOXLkCMeOHbNbI6Wl3qU//OGHHzCZTAwf7jz3esyYMaxfv56ff/7ZblV269bNKZNHcnIyAIWFhcTGxtK7d2+WLVvGwYMHGThwIIMHD+ahh5zmiQugglBpB38OSvk6DZ0OsFkxer3t7zpqfwOmvgzZNVgy84uZ/e6PTstmv/tjhdF3/kKzjDRLqSL+/vtvUlNT7f8nJSU5rU9MTATg9OnTnHfeebzzzjt069aNjRs3cvvtt9O/f3+WLFmCoiicO3cOgMcff5xOnTrZf7p27UppaSmnT5+2H9dgMNgtEY2xY8eSlZXFt99+i9ls5osvvmDs2LH29cePH2fy5Mn07NmTW265hTfeeMMufI6iWhk5OTkkJiai1zs/atp15+Xl2ZdFREQ4baPto51ryZIlTJ48mQMHDvDYY48xePBgpkyZUuVnXu/QMhFYtUwEniLX8lwyERSV+3PQqcNoxsoi1+r6IhsmIWchCcpxDWBYPuFiZr/7o92nFMhhu8TERLp3786OHTu4++673TpgUIfADh48yJQpU+zLcnKcI+7PnDkDYBePrl27snz5ckpKSti/fz8bNmxg1apVdOzYkdatWwPw8MMPO1lCGq4C5Eq7du3o1KkT27dvt6fOv/LKKwE17+C0adMIDw9n48aNXHjhhRiNRg4dOlStuVNxcXGcPXsWq9Xq9Jm4Xqc3xMbGMmfOHObMmcORI0f4/PPPWblyJQsWLGDVqlVeHycksFs3miVjLffxKGUOy7XhNbAPpelsw2sici3kEBZSiOIqRuun9UFKjnULdAikpTRr1iyOHDnC0qVL3dYVFxfz6KOPEh0dzYQJE+zLv/76a6fttm/fTrNmzWjZsiVr165l6NChlJSUEBYWRt++fVmwYAEAp06dom3btiQkJHDy5Em6dOli/2ncuDGLFy92i8bzxFVXXcWuXbvYtm0b/fv3t1su2dnZHD16lBtuuIEuXbpgNKrvbl99pQ6NalZLVclye/XqRWlpKTt27HBavnnzZkwmk334sSrS09MZPHgw27dvB6BNmzZMnTqVfv36cerUKa+OEXS4Rq6VmtU5OPbINW1CqAgiaCgICylE2frrKY/RdK6BDlt/PRWweUiDBg3igQce4IUXXuD333/nmmuuISkpiaNHj7JmzRrS0tJYsmQJKSkp9qwN27ZtIzk5mV69evHpp5/y+eef89xzz6HT6ejTpw+LFi1i1qxZ3HLLLRgMBt577z3Cw8O59NJLMRgM3HPPPTz55JPo9XoGDRpETk4OL7/8Mnl5eXTs2LHKNo8ePZpFixaxc+dOp8CIxMREmjdvzpo1a2jatCkxMTF8/fXXrFmzBlD9OqBaQABffvkl8fHxXHDBBW6fSc+ePXn00UdJT0+nffv27Nq1i/fee4877rjDvn9VJCcn07x5cxYuXEh+fj4tWrTgwIED7Nq1i5kzZ3p1jDrB1Y8jgggElSAEKUTRRGZUlxS3YTlNlAIpRhpTp07l4osv5u233+bpp5/m3LlzJCcnM3jwYG699VbOP/98p+0ffvhhNm/ezOuvv05KSgrPP/88V199NQDt27dn9erVLFu2jPvuu4+ysjI6d+7MP//5T1q2bAnAjTfeSExMDK+//jrvvvsuMTEx9OzZk/vuu8+rImFJSUn079+fffv22aPXNFauXMnTTz/Ngw8+SFhYGO3ateOVV17hmWeeYf/+/UyYMIE2bdpw7bXXsm7dOnbv3u026Vev17N69WpeeuklXn/9dXJycmjVqhVPPPEEN910U7U+22XLlrF48WKWLl1KdnY2KSkp3HnnnUydOrVax/E5bmLjkJ1ABBEIqoHOW+eswBlJks7FxsbGO85jqQptkqPWmQoEIYFTJoIa1tCxC1DdXILAx1iKITxWHSp1wJs+rkePHuTl5eXIstzIdZ2wkAQCQbno2AMIRBCBIPAIQRII6imZ+cXER5owGWyxSw5DaqVlZeSYLSRF6lRfThWik1msJz7cgEnv7s8ptUJOsaIeSyCoBUKQBIL6hE1UMgtKSMspJiu/mNaNDJh05cNspVaFo7l6zGWAxUpShG1uTgVBBJlFCmkFVrLM0LqRDpOD7pRa4eg5K+YyBdALURLUCiFIAkGoUVH6G3smAivxOoUsgx6zxcrRbCutY8sw6fWUKjqO5uowl0GEQUd8pKnKyR/x4TqyinSYyxSOnrPSupEek95ZjCIMOuLDhRgJaocQJIEg2NBCoCtLf1NREIHNujEZ9bRupOPoOUUVkjwjLeL0HM8tFxBNWKrCpIfWjfR28Tl6zlrjYwkElSEESSCoC9yCCBzn55ThFtmm4VRDx1RpEIFJh02UVOH4I1udUFoTAXEVpdocSyCoCCFIAoG/CIL0NyY9tIjT2wUE1P9rIiDeHEsEOAhqgxAkgaA2eCxloEWtOS6vm0wEpVY4nutchPB4rrVGVk2pFY7kVHwsEeAgqC1CkASCqqh1DZ1y304gcQ06cPT7OAYnVOdYFquCDnvObAefko7juYoIcBDUCiFIAgFUYOUERw0dRVHQVVPMXMVIEx/X4ARvRMld2MrFRxOlP7MVFIRPSVA7xG0j8AkTJ05EkiRuueWWCrcZP348kiSxbNky+zJJkli5cmWlxx46dCiSJFX4M2/evAr3/de//uW2fceOHendqxfTp97O77/+5LcaOidOpiF17cEnm7eqbflkE1LXHqSnZ1T5eQLk5eUz97En2Lf/J/uyif+YxuSpVSdTzSlWPEbAaaIUYVDDuHOKq04d9sj8hax7+w0iDDp+3rWFbhf3ZMyQXlx/WW+uu6w3N17ej8lXX85zj95HccahaonRspWr6XhRb+93qGOq+x2Cd9code3h9NPxot70GzKc+x58hJNpvs/mPvexJ7j8yqu93n75qtd48unnq96wlggLSeAzdDod+/fv58yZM26JTdPT0/npp58q2LNqhg4dyvTp0z2u04r6eQwiKCsB4JWlL5DQOB4UhTJrGadOpfPSyleZeNtUtnz4Lk2bNvF7+pshAwewYe2bJCQmeLW9/OchPvr3Zq4ZO9q+bP6jc72yllT/jZ74cJ2bQGii5E3wwe5vvmPf3u94Z8NGmsbpOWA71isvv0hMXGOO55VhtVrJPJ3Oh2+v5h+3T2fLxx/QtElSpccNVar7HVaHG68fx7irxgBqReKTp06x6rV/MnnqHWz56H3CwsJ8dq6Z02+noKDA6+1vnzyRK666luGXXUrfPr181g5XhCAJfEbnzp2RZZkdO3Zw8803O63bvn077du396pGkScSEhLo3r17xUEExXkuYmQbYrOo9aA6Su3UkuAOyT5Tmp/HhFtv5+MtnzJtyuRaXbt319CYhATvC/J5ol3bNl5vW5nYmPSVrwd1qPD5xUuYPPFmmjdyrmbbXpIoCm9CRJlmYXUjNTmFh+6cysf/3hyQz7Mu8MV3WBHJzZrSvVsX+/89gfNSU7n5tql8891ehgwa4LNztTj/vGptHxERweSJE3h28RL+vXG9z9rhihiyE/iMmJgYBgwYYC8i58jWrVsZOXKkdwfSfDdlpaqgKIo6dFacpw6t2Yu35UFJvlrUrazEc+E2g8m2zHFoTe2IO12o1i7ShkSWrVzNFVddy8srVtN74GWMGDOOAlvdo/c3fsSoq6+n8yV9GXrFVbz6xltuZcx37PyCq64bT9ee/bnmhpv5Xf7Dab2n4Z5dX+/mpon/oHuvAQwcNpKFz/0fBYWFfP/DPm6efDsAk6bMYOI/pgHuQ3Zms5mlK1YxYsw4uvTox6irr2fDxn85nXfoFWNYvuo1nlu8hH5DhtOtV3+mzLiTY8f/rvRr+PKr3Rw6cpRRV1zutu7vnHKfUofGBiIMOpq37aCucxhi+u/Pv3LbtJn07H8pPftfyt0PzOXEyTSP53tn/Qakrj3421YrS2P9+xvpfElfzuXk2L+jz/+zizHjbqTzJX0ZMWacfVhUIz09gwcfmcfAYSPp1qs/N0+eyt59++3rteHUHTu/YNqsu+nWqz+Dho1iw8Z/cfpMJrPvnUP3XgMYfPmVvLX2Xft+nr7DDRv/xbgbb6F7rwH27/7Tzz6v9LP1lri4WMDZaP/7xAnmPPI4A4aOoNPF6tDe3MeeICc3177NgYO/cevtd3BJv8Fc1GcQk6fO5L8//2pf7zpkV9X2AKOuGMGfhw7z5Ve7fXJtnhCCFCyUlUL2sbr/KSut1WWMHDmS/fv3c/bsWfuykydP8ssvv9jLgwPl9XJAFZLSItVvo/lzHEVHsaKUWbAUF2IpLcFiKcNiVbAoeiwYHPw5JjfRqYy/jh0HnN8W/z5xgv/s+ooXFz3NPXfOJDoqitWvv8m8Bc8wsH9fVi1bwvXjxvLyilU8/8JL9v2++PIr7rr/IaQO7Vjx0mJGjricOQ8/Xun5/7Pra6bPvpemTZuw9IXnuGf2Hfx78zYemfcUnS68gKfmPQLAvEceYv6jc932VxSFqbPu5u131jP+hut45eUX6denN/MXPMuK1a87bfvW2nUc/esYzy6Yz4L5j3Hg4EEefvzJStu3acs2Lu7ejSZJ5cNvZbaYjmJruX8qwqgOAWalqQIXndicUit88933TJh8O0ajkeeffpJ5jzzEb7/L3DTpH2Q63B8aY64cSVhYGJ9s3ua0/JNNWxk6ZBCN4uMByMg4zdPPL+bWiRN4dcVLnNc8lYcenW//Pk+fyeS6CZP4+dcDPHjv3SxZ9CwRERHcNm0m337/g9OxH3tiId26dmHVy0u4QGrPk08/z6Qp02nfri3LlvwfnTpewLP/9yK//u+gx89ozbr3ePLp5xk+bCirV7zE4mcXYDQauf+hR8nIOF3p5+uK1apgsViwWCyUlJTw17HjLH5pGW1at6JvH9UHVVRk5pbbpvPXX8d54rGHeWPVCiZOuJFNW7ex5GXVF5ufn8/td9xJ48aNWPbiIpYseoaioiJun3kn+fn5buf1dvumTZK4qFtXNm11f+H0FWLILhgoK4XlPSH7aF23BBq3htk/lFsW1WTo0KEYjUY+27GDm268EbCybctmOl54AS1Tm6obWYpV0dEsjLJiVYzAuYaOwxydDz/ZzIefbPZ4zq2fbKRt61aVtqvMasViUQXQXFzMn4cOs/C5xcTERDPmynLLzWIpY+6ce+ndswegBha88uob3HzT9Tw85z4ABvTrQ1RUFM+/8BKTbh5PakoyK1a/Trcunfm/Z9QS6wP79wUdvPDS8grbtOyVV+nc6UJefqHcWawoCv98+x3Q6WjbRh2ea9e2tcehul1f72HvD/tZuvg5rhg+zN42i8XCqtf+yYQbr6NxI7XkTKP4eFYufcFecv343ydYtnI1eXn5xMbGeGzfd3v3MXb0KKdlhRb1OzOhcH6MFZ3VSn6R+nmufnExUdHR9B06gpxihReWrqBtm9asXv4Ser367nvJxd0ZMWYcb7z1Dg/df7fTsePj4hg2dDCbtmxj9gy16OBfx47z08+/sHp5ufgXFhXxyrIl9OmlfketWrbk0hGj2fX1Hlq1bMGba9aRm5fPB+++TUpyMgBDBg1g7HXjWfzSMj5cv8Z+rKFDBjFrumqJxsbFsuvrPXTt3Im7Z80AoHOnC/n8P7v4+Zdf6dLJvQLxiZMnuX3yJGZM/Yd9WfPUVMbddAs//vwLI4cPc9unIpatXM2ylaudloWHh/PPVcsJM6nP45Gjf9E8NYVFzzzFec1TAejTqwc//3qAH/b/CMChw0fJzj7HpJtv4uLu3QBo07oVGzb+i4KCQmJinL/v6mzfudOFbP30M6+vqboIQRLUHMf0N4oVFB0x4QYG9OvD9m1buOnqkaBY2bp1K6OGDy0XHc3Ho7MZ6HqDW6EvVy67dDB3TJvicd15qSlVNnXoFWPclrVp3YplLy5yc8B3aN/O/vdPP/9CkdnM0CGD7IIGMHTIQJ5Z9ALf7f2BUSMu538Hf+O+u2Y5HWfk8MsrFCSz2czB337n3judI+auu2Ys110ztsrrAfhh/4+YTCaGDxvqtHzMlVew/v2N/PzLAbvfoVuXznYxAtVfAWrn7kmQiorMnM3K4rzzUp2Wx4aplueUm9zb2KZ1K5a+sIiOLZsSpZj538HfuHvWDLsYAaSmJNPj4u5Ow2eOXHv1WLZun83PvxygW9fOfLxpC02SElWBd+Dii7q5XUtRUREA+/b/yCUXdbOLEaiVe0ddMZylK1aR7+DM79qls/3vpAQ1UKFb13I/jibouXl5Htv7yIP3q+tz8zhy9C+O/f033/+gFu0sLa3eaMP4G67j2muuAqDMUkZ6RgZvr1vPlDtm8/Zrq+jerQudOl7Au2+/jtVq5a9jxzl2/G8OHT7CkaN/2Y/Tvn1bEho3Zsbse7lixDAG9utL/759mHPvXR7PW53tm6emcuZMJiWlpYRV/sjWCCFIwYDBpFoluZ7H1gNKXKqzdeQauaZFr7nW0LGWqWHPJQWMHHYpD81bQFb2OfLzCzj4u8zylxaXi45Or/p0qkHjRo08vqF6y6srXiLB1uGYjEYSExOchqI0DAaDvRMCOJeTA8A/ps/2eNzTp8+Qk5uHoig0buxcALOySLOcnFwURamVgzwnJ5fEhASnDh8gyRZ1mJdXPtwSEaEGJWQWKcSH6+z7KNbyeVWOaX+0DjgyMtLjuav6PDMy1M8kKSnRbd/ExETSTqV7PG6/Pr1ISW7GJ5u30LVLJ/69eRtXjR7lJKYGg8FuMQD2a7Ha5ojl5ObSqlULt2MnJSaiKAoFBYX2ZdHRUW7bRUZGuC2riON/n2DeU8/w7fd7MZlMtGndigs6tAdw8zFWRdOmSS73eBcGDujHkMuv5JXX3rBbiW+ueYdVr7/JuXM5JCUm0rnThURGRlJo83dGR0Wx7q3XeOW1N9i2/TM2fPAvIiLCGTvmSh576AG3aL3qbB9lux/y8/NJiPF9pKEQpGDBYILGdVTa3HUyaKm5mpkIDOW514zhDL1sKMannuXzL78mKzub7l27kJqSXEkD/I/Uvj3Jyc2qvV+sbbhiyaJnON9DZFLTJk1oFB+HXq/n7Nksp3XnzuVUeNwYm1WSnX3OaXl+QQE//fcXuju8pVdEXFwsZ7OysFqtTqJ05kwmgJtAZhYppOVbySrS2X1BGq5pfxo3Uv01ubmeLYOqPs+Y2Bh0Oh2Zme6+ojNnMp1E3xG9Xs/VV43mgw8/ZsyVIzmZlsa4se7WbWXExcV6PO/pTNvn0iie07bPqDZYrVamzbqb8PBwNq5fw4VSB4xGI4cOH3ELsqgp0VFRtGx5vj0AZdOW7Ty3+CUevO9urhk7hgTbd3z3A3M5+Nvv9v3atG7F/z2zgLKyMn458D8+2bSV9e9vpFWLFvzjVve5gt5un5Obi16vJy421ifX54oIamgoaEEEWuRaqRlKCtXJoJVFrilW7P4cQ5jLpFCHIAIHoqOiGNi/L5/u/IJPP/ucUVcMr5tr9gHdunbBZDJx+kwmXTp1tP9YLBaWvLyCM5mZhIeHc1G3rnz62edOb8Vf7PqqwuNGR0VxgdTBbZudX3zJ7XfcSV5+PgZD5Y9nrx6XUFpayo6dXzgt37ztU0wmE107d3JaHh+us0+IPVNY3iDl2ikAACAASURBVE5PdY3CwsJokpRYbce84/V16qj6G6wOVtip9HR+/O/PTkNurlx79RjOZmXx4tLldOncsVqh7gA9L7mE/T/97BQJZ7Va2f7pZ3Tp3NFn83mys89x9K9j3HDt1XTp1BGjUX2//2r3N4Cz9VlT8gsKOHzkL1q1VC2+/T/9l8aNGzFl8kS7GBUUFrL/p/9itarf6Wef/4c+g4dxJjMTg8HARd268sRjc4mLjeWUhwm91dk+PeM0TZs0sV+rrxEWUn2hNjV07EEEesDkk/Q3I4cPY+5jT1BmtbKqCsfuf3/+1Sm0VmPokEH2CLis7Gy3MFSN8PAwLrxAqn2jPZDQuBH/mHQLS5atID8/n0suvoi0U6dYsmwlsTExtLd1lvfdNYtbp87grvse5Pprr+HI0b9Y/fqblR77rpnTmXXPAzzw8OOMHT2K9IwMXli6nKvHXElqSrLdJ/LlV3uIj4vjAqmD0/6DBvSj5yUX8+gTC0jPOE37dm3Y9fUe3vvgQ+6YNsUeMqzhmDqo1NZ5FZd5TjEE0L9vH3787881/uzuvXMmU2fexYw772X8DddRUFDAsldeJSY6mskTb65wv/PPO4+el1zE3n0/Mu+Rh6p93tsm3cwnm7Zw69Q7uPOOaURHR/Puhg84fPQvXlu5tMbX40piYgLNU1NZs+49mjZpQkx0NF9/8y1r1r0HQGGRuVrHS8847XSPZ2Vn88ZbaykuLmbKrRMB6NqlE+vf38iiF5cyZNAA0jNO88+315KZeZaExurw78Xdu6FYFWbd/QDTpkwmOjqabZ/uIL+ggOGXXep23ups/+N/f2ZAvz7Vuq7qUG8ESZIkI5AHuA4AF8iyHGPbZjjwNNAJyACWy7L8QkAbWhvcauhUt5xB1TV0fMWlQwZhMBq4qEu3Kmft7/p6D7u+3uO2/LzmqXZB+uLLr/jiS88WR4vzz+OzLR/XvtEVcO9dM2nSJJF3N2xk1etv0qhRPAP79+W+u2YRHq76xXpcchGvrXyZF19ewex753Be81SeeWoeM+68t8LjXnbpYFYufYHlq15j5t33k5jQmBvGXcOsGWrUV5vWrbj2mqtY99777P7mWzZ9+J7T/nq9ntUrXuKlZa/w+ltryMnJpVWL83nisbncdP21Hs+piZJJr94DR3LKSAzzXGRvxOWXced9czh7NovEGmQmGNCvD2+sWsbLK1dz9wNziYyIoF/fXjxwz11V3hNDBg3kv78cYPSoEdU+b9MmSaxf8waLl7zM/IXPYi2z0rlzR958dYU9etJXrFy6mKefX8yDj84nLMxEuzZteOXlF3lm0Qvs//EnJtx4ndfH2vDBv9jwgTqHTKfTERsTQ8cLL+C1lUvp2eNiAK65ajQnTqTx4cf/5p3179OsaRMGDxzAhBuu5/GnnuboX8do3aolb6xezpKXV/Do/AUUmc1qGPuLi+zHcSQxMcGr7c9kZvK7/Ic9AtEf6KrreAtWJEnqBBwAbgUcZySWybL8gyRJ/YAvgQ3AOmAA8AjwoCzLi2twvnOxsbHx+/bt83qfY8eOAdCyZSW+otrW0NGSfQY4s7QgtDBbcKpr1KGxgQiX11NFUbjq2psYM3ok0/4xOaDtmzRlBk2aJPHCcwsDel5Bxbzy6ht8uvNzPtqwDl1ZCYTHukXHetPH9ejRg7y8vBxZlt0cifXGQgK6AVZgoyzLhR7WPwX8KMvyRNv/2yVJMgGPSpK0TJbl4kA1FHAeRguyGjqC+o23NZJ0Oh333T2bJxY+x8TxN1Ur+qymLF/1GoePHGHvvv1sdJgvJKhbCguLePf9jTz9xOPVzjxfHepTUEN34LAnMZIkKQIYBHzosmoj0Ajo5//mOWC1qIEDxbbs0m7pb7QgAlPFQQRCjBocmUUKpRX4yUut6vqqcA1gaBqlJ9wW6KD6lpy37dJrAP379eaNt2ovDt60/4svv2L3nu94eM59dO54Ya3PKfANb7y1hksHDWDQAP92lfXNQiqWJGk76nBcKfA+8ABwPmACZJd9Dtl+S8B/AtTO8iE4nV7NuSa0RVAFjiHbrpaMt5VaXcWoUYSO9AIr4Qadkyg1itARF4a95tF9cx+3H7OmJcq9bf+rb64RlWaDkDtnes6072vqk4XUDWgLbAVGAQuA8cAmIN62Ta7LPtoki7hANNANDzV0BAJPOIZsO1oynkK2K8K1RlLjCPWYxbaM3ZoopRdY+TPb/ZjaudLyrV5ZY75uv6D+U58spBuBLFmWtbjJryRJygDeAbSJMBU9RbWfMCAQ+BFP1V4dS5J7U6nVU40kx2OGG3QkReo4W6TYS5S3iFO3ra1w+KL9gvpPvREkWZZ3eVi8xeV/V0tI+7/iKfU+RK/XVzu/lUCg4dqpa1Fy1enMXYfDXI9ZrE59Qof69nY8V7GVLK+9cPii/YLgpqysDJOpZomZoZ4M2UmS1FSSpNslSXKd0q0l4soAyoB2Luu1/119S37BaDRSWlrqNHNdIKgOJj20iHN+bFvE1a4z93RMxzLnf2SX+cyK8Uf7BcGB1WqltLS0Vlkc6sttYAVWA64ZMG9EFaKdwFfAOEmSHF8Rr0W1jryfTFQL4uLisFqtnM3KrnbiRYEAKg7Zrih6rabHTMtTSI11tqZ8IRz+aL+g7lEUhczMTKxWK/Hx8VXvUAH1YshOluVMSZJWAHdJkpQLfA30Bx5FzcZwSJKkhajC9J4kSW+hhnrPAeZWMG/J50RHRxMbqyZ+zD2nw2gyIaIaBN5iVSCvRMGiKBh1OmJMOvJLFfIVhd/O6YgN06Gv5u1U2TH/zHZ2uv6RV7Nz+LP9gjrCWgaGXNucSOxFBePi4oiKcs+g7i31QpBs3A+cAP4BzAVOAvOBRQCyLH8hSdK1wJPAx7b1cwKdOig1NZUco5X8tD+xGiOqXYZB0DAxWxQ+P2Yht0QhLkzHZS2NGMp0hFsUdtuWRxhgaEsj8eHuZozZonA810qHBEOVx6TYys6jFqwK6HVw6flGfkgvc9ouwlg95fCm/TU9tqAOKM6F2BQ1WwMQFhZGQkJCrawjqEeCJMtyKar4LKpkm4+AjwLWKA/o9Xoax0bR2JAJEQlg8v/sd0Hos+ZACYu+NdO+sZ71Y6JIiiy3XRLbWxn5QQFnihTW/apj2/XRJEWWi1JmkZXbPy3kz2wrT/WPYFLnsAqPmVlk5fad6rZheiixQnJ4BDe0NzJ+k7r8o9/V7bcetjCqrdHpXI7n3HrYUum5HNuvHTtGX94+QRBTnAZJ7SDBtyVz6o0gCQT1Ga2T9iQASZF61o2O5ObNRZwpUhi/qdDW6evJLCrv7Ns31jOqrbHSY249bLFvu2JYBN+lWe3brR8TZT/W/N1mthyxsPag3n4uDcdzauepqv2awAkxatjUm+SqgaYmyVXtFGTCoc8hUlhIAt/hKj7Lh0Uye2eR/X9X4aiINQdKqrR8RrU1Op2rIgH09pyCECPrCLQeBAmtq71rZclVxZ0iENQTNEujfWM9f2ZbGfFBQY2EYVLnsAq3TYrU29c7nmv8pkLkrDIhRoJaIe4WgaAekRSpWkaOLB8W6Rdh8JUAVpc1B0rILPIcJ55ZZGXNgRK/nFfgf4QgCQT1iMwiK7N3Fjktm72zqMIOvLYEUgBBFaN5e8yM31RovyZNoLThwnl7zHZREgIVWghBEgjqCa7+m0+vj3YaUvOHKAVaAEe1NTpd08qfzMzbY+aGTwq5/pMCp+ANTwIlCG6EIAkE9QBPwQRSgsHNz+NLoagLAXQdJvxALqVFnI4jOVaO5ii0jtexfow6MbOi6EJB8CIESSCoBziGazv6b1w78K2HLT45X10IoIbjNR3NUTieWx4prEPNVi6CK0IT8S0JBPWASZ3DeKp/hMfOV+vAHSfF1pZAC6ArnnxXmqUUqOAKge8RdqxAUE+oTGy0cG1fn6uuJrp68l254s/gCoF/EN+WQCCoEd7MV/IHnnxXreN1TkN34N/gCoF/EIIkEAhCBk++q8RIHTqHrPkt4nS0ifevH0vgH4QgCQSCkMHVdwVqNN2RHCtt4vV2S+m6Dia/B1cIfI/wIQkEgpDB1Xe15kCJm0BpvqsbLjTZrSmRuDU0EIIkEAgA75KqBkOn7tgGT8EV2jKRRTz0EEN2AoHAY0oejWDPeOAYXOGa584xuEKkEQp+hCAJBAK3lDxap15ZPaVgI5RFVaAiBEkgENSLchL1QVQbOsF7dwkEAiBw5RbqqpyEr6gPotrQEd+MQBDEBHoYKtDlJHyNt6JalcjP+qziUHF/+KICXeMpWGtKhcZdJhA0UAI9DBXochL+oCpRrUrkR35QwJYjFkZ+UBCQl4BAv3QEs69NCJJAEMTUdhiqOm/CdVFOwh9UJapVifyZIoUwPZyxZQ3390tAoF86gtnXJgRJIAhyaurbqc6bcF2Wk/Al3oiqNyK/+drA+aIC7fsKZl+bECSBIASoiW+nOm/CdVlOwlf+jOqIalUi3yHBGNAAj0AHlARrAIsQJIEgCHHtpGvi26nOm3Cg6yk5Xqev/BnVFdWqRD7QAR5Be76SfDh7CI5+Bb9sgD0vwc/vQUmBz9ukUxSl6q0EbkiSdC42NjZ+37591d+5IBMOfQ6RCWCK8H3jBCGN1km7JhD9M1tNIGpRyqukevNG62g5aNT1m7CGJ6smKVJf4fKqqE76o6o+l0B/bnV3vjKSyKWFLoPeMae5s30WUUWnIO8U5KVDca7nA4x+CXrcVu3z9ujRg7y8vBxZlhu5rmtwgiRJ0njgMaAN8BfwrCzLa2pwHCFIAr/g2DG1jldLK2jZrBUUjuYoTsu96bTkrDJGfFD+Rvvp9dFICYYq2xKI/Hau4rN8WCSzdxb5dQipqnOuGBbBrJ3mgLXJ75+BYoXCs6rI5J6iMDuNfX+cINGSTmt9BlGYqz5GWDTEpqg/UYkw5BFoKlW7KUKQbEiSdD2wAVgKbAeuBmYA18uyvLGax/KrIFXUEaw5UEKfVD3fpVndOoJgSIBZ3Q4sVBJ6BhrXt+UWcToMOjiao3i0nCobTqvpm7erpea4reMxfTGU5wvroKp7af5uM08OUJ83V+sL4P3fSvnoUCl/ZlsJ00OJtWKLqSYiUVH7Mous3PBJodvLRbXPZ7VA/hnIS7NZN6r42C0da2mVbcwiniPWZmSbmtHvgvOJTkhVBSguFcJjHTY8Aq0HQUJrr69fozJBamg5NJ4F3pdl+V7b/59KkpQALACqJUj+ROsIlv2oY93oSDokGJ2Waw/L96csrLhcfZhcH+iKOojqCEBNxGXeHjNrD1begWntq+72DQnN76F9BhUN0VWVzbqyN+/xmwor7eRGtTWy9qDebVt/hAdvPWxh4YAIbtxUaF+m+TO8eTGp7F5a+ZOZN34p4awZ9p4q4LYuJidLyFGIHuwZzpsHSjhTpNAkUufRF1WTkhaVte/930s4kqPe59e0M1V+vgsUVVzyHIQmL039nZ+hWkKVoqPAlMjP5qZkhyUzpOP5RCfaRCc2Gaslgoe1F42ICCa1Cexz12AsJEmS2gCHgRtkWf7AYfn1wPtAG1mWj1bjeH6zkLTJedp8iM3XRvFdmhUpQcfELUWUONxzT/WPoE+qnps3F3GmSLE/ZI4WlCYs83eb2XLE4vYWNn+3mUmdTMzeaeZMkcKDPcOJCdMxb4+ZNvF6rutgYubF4az8yQyKDnQKH8ilHM1RuLKN0f7W+f5vpWz8o9T+pqe1Y1Rbo1MHdk17IzdcEOa2vfamOvdLM39ml3EsT3HrgBua1VTToTbwjX8mEMNpri9aGq5DZ95agY7tWvmTmUV71YAIkx5KbVbPNe2NDGtpZPqOIo7mOIs9YLemfGW5e/NdtI7X8cHYaJIMRU5iY84+xbkzaSRbM6Aws+qT6QwQ0xRiUyiKSuaAuRlSq+b8J6spYy8+DwxhtR+Z8JOF1JAEaRSwBegmy/IvDssvAn4ERsqyvL0ax/PrkN0fWRZGf1hIiRUMOihTcHtgdcCiweE8+nUxJVZoEqlaVI4PMMC8PWaaROrsAqcNRawYFmEXMkfaxOtZNTyCGTvM9je3Qc0NfHWyzGm7xAg4a8bJt6Etg/L2aufWOoJFe0vsy1x9JNnFVrIdhrMf7BnOzIvDAd8PEwU7tR3G8tWQm7+d7Y73epge1l4ZxWO7zRUOnXnTTk08Z+wotAtOy1gdBn35veYYHNImXs/7Y/0b5OEYRNCjUQEv9DjH+u+PEV6YTpeIDAY3OoOpIB3MOVUfzBAGscn8rTRj+9kmnDUm878SVYSWjGlBUrTJ6fPQnjefPTdiyK7WxNt+u4aM5Nl+xwWwLVXSIcHI5muj7A8qqA+mDlAo/z1nVzGgPsjLXRyx2lCKNuyiPdxhevgz2+p0bI3zYtQHdsYOMxZr+cpv0pzFCCDSAC3jdHbRMqKKUfNoSC8sF0/H4Q+Aj/602NujOuidj6Nh0sOwVqo14Ppw9Umt+I0+FCyoqt5QHYeRqjvUpuGpeJ1GdYrXaeHBjpaar8KRM4uszNpptt+XJVZ4bLeZBQPCmWQbDQjTw4phnq0VT9ek3Sdaex1felrHq/44x3vNL2KkWKEwy2Fo7RRJuafYFnGK4og0os1FsBvmApiAMuCsyzFMUeVBBHEp5X/HpkBUAuj0RBZZed92vWF6KMmB8VuKWTFMZ+8LtKwToZDpPLhb51t0tt+uJqG2POimoHdIMLL2yiincXUF9QF9uHcYT35bPjfj6YHhPLa72ONQiuNDqj30OtytLQUwGZwf2OYxcLpQHepw5UQBGB0+TguQHAWni1SLzpEzRYq983Ntz9EcBaPOeXtteGXWTrNTZ6y96c3aaQ5Zv1NVvrPrPylwG0Zy7WyrK0qecCxeVxkVzYHyhYXkOHfIcXjupk3q+bT79bs0Kx0Sqj6eJ/FcNTyKxEidm5Wn8crwGoqrtQwKzkBumpPw2IfbytznThlx7nTPKrFEJaQS2TjVXXzC40CnczuG6/W6Pk+OL5vVsTCDgYYkSJod7GoJxbqsDxoyi6w8tts9HLPEipMYQbml5OnGc71pwV2VVw2PYPEPJW4P7Ml893Y1jylf7jpvP92mnZrAaYTpsVs1ntpjcWlQarQ6vOL4puvaafnb0e4vqgoW0MSoTbznCZ41carXlNoERXiDqxXnKiZrrozkjyzF6+usTDxdj+263uN1lJVAXoa74OSmQf5pUNxHDtyISrRHqhVENONFOZHv8ppwTGlGPlG0N+tZ36Pmn6On58lxVCVUxAgalg+pHfAnME6W5Y8clt+AGgreUpbl49U4nl99SI4dgavvyJF5fcN56tti+//vjYmkT6rJ47auDnJH2jfWs2BAuP3NtDJaxOnsY++V4ThE6OnBqKg92vFdz6M59Oti3oqvqeoatMCPugyH9/Wk1eqcT6M6x6/sM20dr8NqhWN55fdTizgdRp2OjJwCBsafYdEl54grTncIlT6lPqtur28u6PQQ3dRm2aRCbLLD72QwuvtA/XHfVvQ8VScQxmtEUEPtkSTpCPCtLMs3OyzbAFwky3KHah7Lr1F2rmLUvrGeaV1NdktIw1WstKg8LVTc0zFdcRUOT4Tp1bfVh78y29/gvcHTJEPNl+Q4NOWIp85DO1ZdzaL3B8F+DXU1D6kmnXVl4nn9x/lk5+bRUpdBS10GXSNPc76SToIlg7b6DBK8GRzRmyC2mSo0rv6cmKagr9wi97e4V/Z8++WeEkENPuEp4E1JkrKBzcBVwA3ATXXaKhe0cXVPEXGuaEKybFgEd9qcwzdvLmLb9dFOodLazeoaFOHqUzLpoFm0jhP55WJgsm3z8FdmrC76YUD1x1bEggHh9kSVWhs0h72jGJl0UGqLJDyao2ByeHZmdQ9jxzGL2zCRvxztgSLYr8FXQRFVUVGnXB2f2dZDpeRkn+WauNM81fkcsb+pc3Xic9L4d8kpYiMcLAfthnU5VL4SQUlUMglNU50tnThbZgJdzb+XqvLs1WYY1tMLrGsAky+GVwNBg7KQACRJmg48AJwPHEFNHbS2Bsfx65DdrM8K7XOGHC2MJpE6HuoVxkNfFVOmlIeEt2+sZ+GAcPtcIk+z+R3Dx9deGWkPgnD19wAkRug4a1aXtogFHTq7xaIFHADodbiJlCOOFptr9Jj20LSO17F6eHm4uj3AQg/TupmY0yvSrdNy/Ew0gsm68IZgt5AChbeW2IJ+Jia2ynGeGJqbBvm2/y3FlZxFxRoWi95m4RRGprDszwT25jdhdLcWGKIaMalLuF+v09dZSSoaTXF8PvwS2CAsJN8gy/JqYHVdt6MqVlweRW/bDez6drX1sIUyxX3ekZylsO36aKe3LcApOk3bR7VaDPYJuJpYQfmN+/7vJfYJsMNaGDiWpx6v1KrO6cgsUiiwqMKRGFEe0ABwk2TkX39a3Cy2mDCdU3tc34iHrM8nv1QV2lIrNItSx76TIsutxD+zrU4TgX3taA8E/g4WCCWcLLGwMshRo9b2/nGCLuEZbGmUTpE1jfj/noYfvSh/EZngFK321bkmdG3bnEZJzdGHx9g3iwKmdLaSUksrz1uh8UXEoyta31DR8+Q4VSJQgTC1ocFZSL4i0MlVXW96x/89ZTH2lAJo62GL24OjZWq4+5Iwvksrr6jpKTOCPVMD2DMsNInUsXxYBA9/VcyRHKvTbHhPFltSpL7C9mhvyjEmeOOKSGSH6CrHDjzGBPmlvs0zFkgCHSwQdJSaPYRJ2/KuFWZWmf5G0elJJ4lDlqY0bdYcqWVzdXgtLhVikgOasNjffjZvxA6o9PnWlvtUjERQQ3DRkLN9uz6EWw9b7P+7pnpxTBtUnYwAFXXUnt4EPe0fzJkcKurEtMS5nlLlBMuEX6+HnUrybdFqabbfWs61U1CUXeV5FL2Rv5WmHLI05VxYCsO7nk9MQgrZpmZM+DKO387pg0K0/flyEcigkmojBCm4aMiCBLWz2CrDm2grT2+CjvsHQ8ddFZ4+P0dRd8xFWFHnE+hM6U4d5OhIknS5duumMCuN7+S/SShN50LTacLLPExgc8UYYQscSLHP07H/H5VEZrGuynshGCxIf4VzB7UlLQQpuGjoguRPGqKzv7qdT0DenhWreq86iM7+P0+QaMmgtT6dSKoOIiAsxjlE2lF0IhtXmYkgVO4Ff7UzaOfc1ZUgSZK0BJgvy3IFZQMbJkKQ/EttslyHKtXpfHz29my1qGUL8tJtKXAchtbyMryqoXOWRhyxNiXblEz/C88nunFquU/HsYZODQmVe8Ff7QxKUa5DQSpGTavzOPCqLMvCpEIIkj/x9ABq0YFaOYuAOG7rgIo6H0+ZG1x9a++MjvIsYBazTWgcaudo/p2CM17V0CE6yW7lFEQms/j3RL7Na8pxpSmFRPi0g3Qd/vV0LzjOswsG/C0aQSfKdShIErAEuAL4BbhHluUvq92KeoYQJP/g+oY/vJWR935Ti6s5zrnyVOXT5yn26wjXzmfWRWGs+KnEYwenlW6IsBbQQpdBS91pLonKYMJ5mUQUZahWT1FW1SfVGWyZCFI8/CSDwTkdlb86SFdfmmOGD8cM4MEkSv4eVhMWkgckSboSeBFoB3wE3C/L8rFqt6aeIATJ97g+2FrtpJaxOtIKFEodym+0iddjsVo5biseEmpZjSvCU+fTOl6HToGc3HP0jzvD092ziS1Ox5ydxtG/T9LMmk6CzosgAkO4SxCBQ+616Cagr37hPw1ffe51NtHTB+31d0qghuBD8npirCzLWyRJ+hS4B3gM+M3mX3pGlmXPGTsFgmrgOgEYymsnOYqSQYdTPRtTEHVQtSGz0MJd/z5BYl46I2NPc2vLs/zvyAkSijJorc8gOqIISoC96vYRwIVQXkAFyFWiSNcn0/K8VMIbaRaOTXRsNXRq1UY/T+jVJnQ6VkxeOMDZUnIUp7oeog1USqDaliEJFWoUZSdJUhPgWWAykAHMrUn6nVBGWEj+wTWU2fGhbBmrI7cUss3u92yoiNHaX4u4MjmLhBKH9Dd56Vhy0rDmphNG1UEEZ5Q4jivN+EtpxgklmSPWplhjU7hrSCtm7jLy5znP87RqSyDDkDOLrHZR0nA9Z12IkadQe20Z4Nam2rRTzEPyEkmSOgC9gNuBQaijKD8Ad8qy/EO1DxiCCEEKHJVlMtaocyevI2Ul5fnWHEoZ5J5NI9J8BpPOixo60U3sw2sFEcm8ICfwfV5TLu98Pi/96nydgZqjEugOMtgc+XUhEIGea+Y1dRjUkIwqPtpPD8rLgSvAQdRBhCFAK+AFVIupXkfjCUEKLJXVcoI6sJBKCx1CpV3T35ylqho6ZeghpimGuFSKopJ561gi+wqaUhadzOIxrUiKjXTa3jUxrYanciP+fHsOVAcZjI78oJ6oGmjq0IeURnnFgizgG+A74Fvge1mW8wEkSTICc1BLPCjYysULBLUls8jKjB2Fbsu1vHl+SbGvKFCc655ZWitPbT5X9TH0pvIoNVsAQU54M+78vhHf5CTQOjKM5ZfYfDB5VXdmmhhpvptbNhd6LOfuy9IQrvgjQagrwZp41pP/JmiCDOoJ3lhIq7CJkCzLf1R1QEmSngUmy7Kc4psmBifCQgoMmUVWp0J+jqUvWsSCUa/nSE4NI68URQ2Jzq0g0WepF7E6pkiH2jmOmQhSKwwiqO7bf0N6Mw+Faw1G6y3g1JWFJMvyjGqe72egWTX3EQjc0B58TYy0Gk1t4vUoKBzNUWgdr/6vZR53i2iylqmTPx2FxiGYgDIv0t+ExzmVM3D6iYivMv2NK9UtzOfPSK5gIxSuNdgLK4Yy/qiH9CkwwQ/HFTQwHDsnLVOBlpEBygsPzr1ERzKZXNr4DPJfJ+lVcBp2nipPf6N4EUQQleg+GTQuVf07LNqn15VZZGX2Tufqv7N3FlX4hh2oyq3BQChca3W/P4H3iOSqNUQM2QUGuxPdKvwXZQAAHnBJREFUWFxu1djS35ScS6PkXBoxJVUHEaDTQ3RTF5+Og/gYA/M9BO1ER4FXiO/PRl1PjBUI/E5xnkuCz3Qm5Z2C/6V5DCIIs/3Y0RudMxHYfTopENNUXV+HNMSJjvUJ8f35HyFIgsChKKqwOIZKO/p0SrytoZPi0aez9mgsI9uFVxKSXFJvZ/XXNUE7X8aH1OfvL1gQgiTwLdYydR6OPat0mnMQgcVc9THCYz0n+IxLhYhGHoMI1hwoYd43Ztb8VlbppEWoPHTZn4SCf6QmaBNG1x6sfMIo1N1n7wvq6/cXTAhBElSfslLIP+0gNA5lqvPT1Ro7VRHZ2DnPmj3RZwqExzhtuuZACaOaV/72PaqtkbUH9W7DJq7DLFpARF0RiHk8gSZUPntfUB+/v2Ai9O8QgX+w19DxMLTmTQ0dnR6ikpyj1TSfTkyy18Ec3r99R4hJi3WEmDAq8BVCkBoyJfnOw2qOouNNDR29EWKaefbpxDRzq6FTExzfvkd+UMC60ZF0SDC6vX33SdWz9bDFqWPU5omIDtH/uIqS+OwFNUEIUn1GCyLQotZcJ4UWe1GV3rGGjmMWgrgU1QLysoZOTXEtRzD6w0LWXhnFY7s9lyOACDFpsY4QE0YFtUUIUqijWNV5TY7Da44+HUtR1ccIi3YIHnBJgxPZuNqZCHxNUqSedaMjGf1hISVWuHGTmtfOU1XRPql6ZoXwpMVQjlYTE0YFtUUIUihgtTgHEbhaOtaqa+gQ0cjBwnEMJkhVo9qCnA4JRtZeGWUXI4AHeoZXWLgtmJJyeksoR6sFa0JUQWghBClYsBS7WDkO4lNwuuogAnQQneQyKdThb1NkFfsHN5lFVh7b7RwyPn2H+jbuSYxCcdJiqEariQmjAl8RXHd2DZEk6RbAU8XaFbIsz7ZtYwTmo1a5TQT2A/fLsrw3UO20c+oXkLepPpz8DFWICjOr3k9ngNhmeJyfE9MMDMH11uwrXDu8B3qG28UIYMGAcL5Ls4b8pMVQjVYTE0YFvqJeCBLQDTgETHRZnu7w91JUMXoIOAbcB+yUJKm7LMtHAtFIQE32+c41Fa83hJUHDjj91tLfBElV1ADhKkaaJeTIpC1FbL42iqf6R4T8pMVQjFYTE0YFvqI+CdJ+WZa/87RSkqRWwHRgtizLq2zLdgB/oBYVvCNA7VRr5LQfAacPQvx56o+jxVNBDZ2GiuPbt+uw3IIB4UzaUkSJFW7eXMS266Mr7LBDadJiKEariQmjAl9QnwRpaSXrhwIG4ENtgSzLxZIkbQZG+7ltzhhMcPVKke3bS7SOTI2ec/cRbb5Wx82bizhTpNQbP4WIVhM0VEL+7pYkKQVoClwkSdLvkiSVSpIkS5LkOHx3AZAty/IZl90PAS0kSQptj389Z1LnsAp9RB0SjGy7Ppr2jfV2P0WwsOZACZlFnoNRMousrDlQ4nG54xDlpw7XNn5TYYXHEwjqA0FtIdkCEW6qZJMMVMsHoA3wIGAGJgFrJEkyyrL8JhAPeJoFmmf7HQt4MWFHUFeEmp+iJiHcIlpN0NAJakECIvAcPaexC7gOGAPskmVZE5gdkiQ1AxYAbwI6PFdw02Z8itfOECCU/BQ1CeEW0WqChk5QC5Isy/mUi0ZlbPawbAswTJKkJCAHiPOwjTYj1IscOgKB99QkhDvUrECBwNeEvN0vSVJfSZKmeFgVCVhQxUgGEiRJauyyTTvgqCzL7oP5gqCmJv6ZQKOJiOYDGvFBQZXziSZ1DqsXkYICQU0IeUEC+gKvS5LUVVsgSZIedShvjyzLpcBntlXXOWwTDlwJ7AxgWwU+QPPPeHLya0Ni8/aYg0aUlg9zjpkJ9hBugaCuqA9PxZuoE10/kiRpvCRJo1GH8DqjToJFluVjwNvAy5Ik3WvbZhvQGFhUN80W1JRRbY0eI8+CMcVORSHcIlpOIHAn5AVJluVsYDCwF1gCvA/EAJfJsvy9w6bTgVXAXGADqv/sclmWDwW2xYLa4joUNn5TIXJWmccItbpEhHALBNVDpyiegs8EVSFJ0rnY2Nj4ffv2VX/ngkwxMdYHuIZPQ/Ck2HFsW5NIXYWFBVcMi+C7NKvwDQlCi6wj0HoQJLSu9q49evQgLy8vR5blRq7rQt5CEjRcgtk/o4VwN4nUcaZIYdZOM5lFVjfrbtzHFfu7giU4QyAIFHX/5AoENSSY/TOTOofxVP8I1o2OdBumS4pULaMYE+SXQpheTY3kSLAFZwgEgUAIkiAkCQX/zKTOYXRIMHr0d83aabaLUYkVuwUFwRmcIRAEAiFIgpDDU4odKcHg1vEHgyhB5fORNl8b/MEZAkGgEHe6IOSoKsVOMCZarcjf5WpBeTN5ViCor4ixAEHIoUWk5Ze6W0CaKL3/W2mgm1UpVZWUCLX6RwKBPxB3vCBkWbS3pMKhuY8OlQZNQIDjEGPreJ2bv+uPLAt37AjO4AyBIJAIQRKEJKGSrcF1rpQOHYmROqdhuis/LORIjrp+VvewoPSDCQSBQAiSICQJlWwNmr+rdbyONvF6juSobQVYMSwCkx60kcfW8Tpu6xoWtMEZAoG/ET4kQcjiWuJB88EEixiBc0kJwKkcxfBWRicx+mBstL3Nov6RoCFS90+sQFALgjlbg4ZWUsLVqlvxk+rfchUjKBfbp/pHCDESNBiC56kVCGpAMGdr8IQnAV013LM1J+ofCRoaQpAEIUsoZGtwJdQEVCAIJEKQBCFJqGVrgNAUUIEgkAhBEoQkoZatIRQFVCAINCLKThCSOEavufpfNFEKpui0qgRURNQJBEKQBCFMZR13RQEBaw6UeBQxUK0YfwlCqAmoQFAXCEESNBjWHChh3h4zaw+6z1NyzajgT1HyhIioEwiED0nQgAiVdEMCQUNFCJKgwRAq6YYEgoaKePIEDYrKiuUJMRII6hbx9AkaHKGQbkggaIiIJ1DQ4BDZEgSC4EQIkqBBIbIlCAS1RFH8dmghSIIGQ6CyJaw5UFLhMTKLrEFRxVYgqBTFCqVmMOdAwRnIOQlZRyHrCGQfhbBo0PlePkR8q6DBEIhsCXU910kg8BprGZSVqD+W4vK/FUAHGMLBGKb+jmwE4fGqEJkiwBgJUYk+b5IQJEGDIRDZEka1NbL2YLm1pYmSmOskqBOsFrCUQJlNcCwlYC1VRUevB0MYGMPBFAnRSRARD6Yom+jYfkyRYDAFpLkh9VRIkrQY6C7L8jCX5UZgPjAZSAT2A/fLsrzXZbu7gTuB5sBvwKOyLG8LQNMFAaKq1EBAhdF0vsiW4Gptjd9UyPJhkczeWSTCywW+R1FU0SkrtgmPzdpRLIAO9AZVdAxhEBYFMc0gIk4VHU1stN96Q11fTegIkiRJs4H7gc89rF6KKkYPAceA+4CdkiR1l2X5iG3/OcCzwBOogjUF+LckSYNkWf7W7xcg8DvBMlwWCqXVBSGEopQPp2lWTlmxOuSmA/Sm8qG1iDgIj4PwWGex0awdfXDfe0EvSJIkNQcWATcBOR7WtwKmA7NlWV5lW7YD+AOYA9whSVI08CiwWJblhbZttgPfAPOAkf6/EoG/8eVwWW2TsGpznTQxAjHXSVAJitVBbErKLR7FCjpduZVjCIOoxurQWlhMuT/HcYhNp6vrq6kxQS9IwNPAxcAw1GE5V4YCBuBDbYEsy8WSJG0GRtsW9QbiXbZRJEn6F//f3r1H11mVeRz/JjnJScpJCiV0ALVAaHxQB2VKXZSLDEsZLk5F7hLqquNlEG0VF46OjheUNcqaiqMz0+qsyijqlCooVYGO3ERxgOjU4gwqbFJbqZYCTa9pmuZ65o/9vsl73p6TnqY5999nrazTvO97ztnl5fQ5e+9n7wc+b2ZNzjmlPlW46Roum46eVq61Tuoh1bBcSQSh8SSCJh9wmmf6Ybb40FpDU0UHnclUQkBaBjzjnBszs2wB6RRgp3NuW+z4BmCOmbUE1wC4LNckgA7gmWlss5TIdAyXHW5PK35dNChGX0+qUEYSwfDEIwB1PoGgockHlhlHTxJ0ipNEUG5KFpCCRIRrJrnkRefcg8653x3kpWYCe7Ic7wseW4Nrosfi17Qd5D2kghzucNnh9LSyrXXK9noKShVsdPjAns7YCJCGusREL6epBZpmZ08iSDRDQyX0B4qrlP9FmoFvT3L+Z8CDebxOHT6JMdtxgLE8r5EqMR3DZVPtaR3KWifInoIe/h1UsK9E0mmfGj0SmcsZTyKog/pI0Em2TiQSNLb4HtD4nE5L2ScRlJuSBSTn3F4mAsLh2E32Hk5r8LgnuKYOSJHZSwqvOSBZQirTdA6X5dPTigeOfNc6AWWREVizsiURjA774+CHzBoii0JbgiSC+NBahScRlJtq6DM6YJaZHeWc2xk5PhfY5JwbMjMXOfZk7JpBfKq4VLjpHi7rHRjj7ffuyzgW7WnlChz5VIbtHRjTAtpCGxuNzONE0qXDrQjCrLVEkC7dHOxEEB9aSyQVdIqkGv5vD4f1rgS+BmBmSeCvgfuDc48D/cE1TwbX1AGXA48qw646TOfWQGFg2DaQpqkehsagqZ7xALLi/GaWPLR/yoFDC2inydho5qLQXEkEiWZomRVJIkgG8zrBEFtCvdByUPEByTn3nJl9E/hXM0sBPfiFsUfhM/Rwzu0Ldnn4lJmNAN3Au4DTgfNK0nCZdtO1NVC8lxINPmFQWvj9fQyNHd5iVy2gzVPOJAKgrmFiPqexBVKzg0WhM2JrdFqURFABquUOvRfYCXwMP0/0K+CvnHMbItd8FhgBrgM+CvwOuMQ591iR2yoFFA820QWu8a2BciUOZOtpRQMH+B7TMS11BwSOQ11QqwW0xJIIotvfjPpzDYmJobVk60QiQTTYhAtDy2D7G5m6unQBa1tUMzPb1draOnPdunWH/uT+XtjwsB9CaGye/sYJMLHANVuPI9oLuvns5kkDWcjtGM0IHPdfdQQ2qyHjOYf6fvF5KKjSHlJ0+5uMnaVH8fM5kSSCRNJnrTW3Zlmfk1TmWoWbP38+fX19u51zR8bPVUsPSeQAh7PANR6g8kklP9T3q7oFtDmTCALR7W+aWyPlDMKAE/R2lERQs9RDmiL1kCrDZP/o59sTOZTXyPfaXBmBuY6XjQOSCHJtf5P0yQPJIIkgPp+jJIKaNVkPSQFpihSQKsfBhsUmm/d5dscIi+4dYNtAOu/Akc8w3OEMJxZcvjV0GpogmQoWhcaDTnPNbn8jk9OQndS0yRIHDraRahiM4gkMk6WS55OoUIxigTlNVkMnzUQSQVhDp/XYiaATFnMroxo6Uj0UkKTqTTb/c7B5nzAYrVp4YOZbrsCR79ZF+SygnbKcSQRBr218+5vKr6Ej1UMBSapaPokDh7NANVsqedESFdJjsbmcSWroJFM5augoiUDKhwKSVK14cLisM8HRwdBbePziu/pZtbCFFec3s+jegYwFqh0z67lsbuOk80zf+s0QC46vp/v5Md58cuKABbXdz48e3k7fuWroBLvfZCQRtMyMZK5Fgk246adImVNAkqoVXeB6WWeCZb8cYk3PyHiv6OK7+tk2kKbrngHakrBtIDPBZySdZtn/DPLb7aPct3HkgHmmcP4p3FroF1sTWXd3gObJty7KmkQQljOon+jlNLbAEe0TmWvx+RwlEUiFU0CSqhVNHABY0zOS0UtZtbCFrnsG2L4/zfb90FgPw5FCJJv3pDlpZh03nN7EszvHDujhLDi+PmOfuxtOb+KM4xIsOL4+c5+7jgbam0ZZfWGatRtHWXzCDtiVq4bODEj9WfYaOkoikCqngCRVLdoTifZSrvphP/9+wQzakrB9vz8/PAYvT9XRP5xmZ7Ces446ZuXcCHX/eDAaGoMlDw6w/C9hyQNj9Oyuo7NthNVn76J9fxqGGmlPNLH4lCQklEQgko3WIU2R1iFVpq88uZ9lv8zc3D3eMwI4uhlmJuvZuHsisYH0GF33DNCza+Iz09k2woXH7+e+PzWzae/E97vOI2H1ZbOgKcXaDYMsPuN41dARYfJ1SPoqJjXl6lOamNOWGQzCnlHUir9Mc+f5++hsG/XzPk+9QPv+zSxf0Jdx3QWdM1n+TIrRREvG8eXveAO8bB5da3bw6Ydf5Fu/HYIZs3xAUjASyUpDdlJzGmLV7Gc2jvFCfx3RAsaf6k6z+qJmVl8yg7V/bGTx/Ln0DiZY+sgfgP3j1619Ls0Js2bw3I7MQn7Xr/oVddSxsbefztkp3nzqcQX8G4lUB/WQpDqNDsNQPwzshL4XYNdmerdspOsHu9i0B05qHWNOygem3cP1jKTraKyH71zbQWd7Cz276+l65Ag48SwWX3wOvS0n0nXnn+jp3U/n7BT3f+hcOmen2NS7j+d3TSyCnTNrBnNmtbCpdx8be/vpaD+C1dctoD2ltGuRg1FAksoU7kQwuBf2bYc9W2Hnc7Bjo//p2wqDe4A0JFvpbZ5D1+PH0bMnQWd7krv+9vV84arTMl5ydlszczs6WH392XTOTtHzUj9dK7t59sU+ulZ20/PSXjpnp1h93QLs2FZWLJpHU0M9w2NpGuvrOGHWDDbv2MfmHRMBKo3maEXypSE7KV/psWAh6PDBa+i0HOl3IkimstbQWfuLzfTs+O14QAFYuvLRjLfbsms/d677I6lkghWL5rFk1Xp6XtrLvzz07HgwWrFoHmuf2sriM0+ke+N2hkbHaGqoZ2h0jIWvO44Vj/x+/PXCnlJ4vYhMTgFJSitnDZ1gK4JwUWgiuuda6sBU6YNsfxMGhHAup2tlN9v2DnFMqonl187j43c/xcbefr7x35vYtndoPPh0b9zO4jNP5Iwn/sCCjqPHg1T0NRd0HM1DT7/ImvVbMt4zUV/PRy8yBSORPCkgSeEdUENn0AchAOomShk0JKHlKL8TQfKIiWAzTTV0Fp95Ir17Bw8YfmtPJbnz+jPHjzc11NPz0l6WrFo/3pt686nHZTwvDGzha65Zv2X83PJr57H0Dh+41qzfwtXzX6E5JJE8KCDJ9BgdzizYlquGTmMLpI7JUUOnxZc+KKC1T209IBgBtKeSrL5uwXjQOaY1Sc9Le+la2Z0RYOLPyxXgoq/VtbJbiQ0ieVBAkvzkW0MnkfQ7Sre2+iG2aLAJC7eVcPub6NBdPECEgWTtU1szekQXftnPNcWDEeQf4DSPJHJwCkgyIWcNnSxJBM1tfmituTUytFYZ299MFhjaU8nx88uvnTcejMLf40Es3wCnYCRycApItWa8hk40iWAIwvTkaA2d5lY/tFaDNXR69w6y9I71GceW3rE+69BbvgFORCangFSNDqmGzpGQPNLvMh0fWqvRGjrxeaHoHJLmg0QKRwGpUmWtoZNvEkFkiE01dDIoSUGkdBSQylW2JILRsIYOPjGgIVJDp/XYIOjEyhmohs4hUZKCSOkoIJVUOnNILezxjI36obX6xomhtWbV0CkGJSmIlI4CUqnU10Pf8z7YhD2dGUf5wNPUmmU+RzV0ikVJCiKlUVEBycxuBU5zzp0fO34O8PMsT7nPObcwct0NwAeAlwFPA59wzv1XAZucXbINjjsN6hOxPdeaFHREpGZVTEAys6XAh4GHs5x+HdAPnB87vjPy/I8AtwCfAX4FvBv4kZmd65x7ohBtzinRBO2dRX1LEZFyV/YBycxeBiwDrgF257jsdcBvnHPdOV7jCOATwK3OuX8Mjv0YeBz4NHDxdLdbREQOTSXMhH8OmIfv/fw6xzWnAf83yWucAcwEvh8ecM6lgbuB883s8HbtFBGRw1YJAWkZ8Brn3CPZTppZPfDnwMvNbL2ZDZnZZjP7sJmFEzKnBI8u9vQN+F5iRyEaLiIi+SvZkJ2ZJfDDcLm86Jx70Dn3u4O81CuBFsCAfwC2AW8FvgC0ATfhe0cAfbHnhr+3HULTRUSkAEo5h9QMfHuS8z8DHszjdbbg54B+7Zx7ITj2EzObAfx9kJlXB1lrSYc9qLH8miwiIoVSsoDknNvLREA4nNfpA36c5dR9wHvwPafdwXulyOwltQaPuZIlRESkSMo+y+5gzOxU4BzgNufccORUS/DYy8Tc0Vzgycg1c4FB4LkpvHVbX18f8+fPn8JTRURqU19fH+SYJqn4gAR0Al/BD939KHL8bcAmfLB5Cb9O6UqCgBQkPFwOPOqcG5rC+44B9X19fXum3nQRkZrTRo5pkmoISPcC64Cvmdls4I/AIuAS4IogvXtfMJf0KTMbAbqBdwGnA+dN5U2dc9Xw305EpGxUQtr3pILezcXAD/AZdT8EXg1c5pxbE7n0s8H5d+LXH3UAlzjnHitui0VEJJu6dDpb8pmIiEhxVXwPSUREqoMCkoiIlAUFJBERKQsKSCIiUhYUkEREpCwoIImISFlQQBIRkbKggCQiImVBAUlERMqC9mMrMjPrAj6J37roD8AtzrlvlbRRNSSoMHwd8H78PXgRv93UTUEpE8xsPnArMB/YA9wenB/O9poyvczsbuC1zrm5kWMXAJ8DXoO/Z8udc18sURNrhpmdC3wemAfsAr4PfDwoHzTt90U9pCIys6uAVcADwKXAT4FvmtmVpWxXjfkosBxfL+tS4IvAO4C7AMxsLvAwMABcHZy/EfhSKRpba8zs7cBlsWNn4TdRfga/Q/8q4Atm9nfFb2HtMLMF+CKpL+A3q74ZeDtwW3B+2u+L9rIrIjPbAKxzzl0TOfZd/LfBV5WuZbUhKDmyHVjtnFsSOf424DvAXwBLgQuAuWFZEjN7H/BvwAnOuS1Fb3iNMLPjgd/gS8UMhj0kM3sISDnnFkSu/Sd8T/dY59xgKdpb7czsZ8EfzwuqJmBmS/Bf0E7Fl/uZ1vuiHlKRmFkHcDK+yxv1PeAUMzup+K2qOa3AfwJ3xI4/EzyejA9G98RqZH0PaAjOSeHchh89eDg8YGbNwLlk/9wcCZxVtNbVEDNrB94AfDUMRgDOuRXOuZPx9Yym/b5oDql4TgkeXez4huDR8AUFpUCcc3uAD2Y5dWnw+DTwCmL3yDm3zcz24O+RFICZvQdfn+w1+Pm7UAfQyOSfm0cK3sDacypQB+wIRnEWAiP4L3M3AidRgPuiHlLxzAwe4xVm+4LHrCV9pbDM7AzgY/h6WjuDw9mqAPehe1QQZnYC8M/A+51zvbHT+tyUxjHB4+1AL/AW4DPAYuCrFOi+qIdUPHXBY3zSLjyetaSvFI6ZnY2flN0EvAdIBqeyTazWoXs07YJ5va8Da51z8eEfyP25CemeFEZT8Ph4ZL71J8H9uhVYGRyb1vuiHlLx7A4e498cWmPnpQiCRIaHgM3Am5xz25n4tpft210K3aNCWAK8FviQmSXMLEEQhII/5/rchL/rnhRG2NNZGzt+P/7+vD74fVrviwJS8YRjrXNjx+fGzkuBmdmNwGrgCeBc59xWgGBtxRZi98jMZuM/aLpH0+9KoB3YCgwHP4vxCSbD+In1UfS5Kbae4DEZOx72nDZRgPuigFQkzrkN+JsYX3N0BdDjnNtc/FbVHjN7N35t0Z3ARc65+De5B4C3mFlT5NgV+A/fT4vSyNryXvy37ejPvcCfgj/fBTwKXB4MF4WuwH8LX1fU1taOp4HngGtix8PkhicowH3ROqQiMrO/Ab4BrMB/6C4B3gdc45z7bgmbVhOCns4mYBt+gd9I7JIN+G/rTwKPAV8GXolfqf5159z7i9fa2mVmtwPnRNYhvRE/vHoXfpL9LOATwMecc8tK1MyqFwxrr8Zn1t2Oz4K8Gb8bw4cLcV/UQyoi59ztwPXAhfisrvOAxQpGRXMRMAM4Afg5/lte9Oci59wz+PVGKfyaihvxGWA3lKLBAs65n+C/eb8K/7lZBHxEwaiwgn+XLgdejf8CvQQfkD4SnJ/2+6IekoiIlAX1kEREpCwoIImISFlQQBIRkbKggCQiImVBAUlERMqCApKIiJQFBSQRESkLCkgiIlIWFJBERKQsKCCJiEhZUIE+kQpnZi34cgFjQKdzbjBy7jbgncAi59x3StREkbyohyRS4ZxzA8BNwCuA8R3JzewW4N3ABxSMpBJoc1WRKmBmDcD/ArOBDnxJ9i8BNznnbi5l20TypYAkUiXMbCFwD/Aw8EZ83ZoPlrZVIvnTkJ1IlXDO3QusB94EfBfVcJIKo4AkUiXM7GrgtODXPuechj+komjITqQKmNkF+OG6e4Bh4CrgVOfc0yVtmMghUA9JpMKZ2RnA3cBj+DLSn8SngN9SynaJHCoFJJEKZmavAu4DngUudc4NOud+D/wH8FYzO7ukDRQ5BApIIhXKzOYADwC7gYudc3sip28GBoBlpWibyFRoDklERMqCekgiIlIWFJBERKQsKCCJiEhZUEASEZGyoIAkIiJlQQFJRETKggKSiIiUBQUkEREpCwpIIiJSFhSQRESkLPw/Mt4tkon9JoQAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Let's do it\n",
    "degree = 1\n",
    "phi = PolynomialBasis(degree)\n",
    "Phi = compute_design_matrix(X, phi)\n",
    "w_MLE, res_MLE = np.linalg.lstsq(Phi, Y, rcond=None)[0:2] # Note that we\n",
    "                                              # now also use the second\n",
    "                                              # output of lstsq...\n",
    "sigma_MLE = np.sqrt(res_MLE / X.shape[0])\n",
    "Phi_p = compute_design_matrix(X_p, phi)\n",
    "Y_p = np.dot(Phi_p, w_MLE)\n",
    "Y_l = Y_p - 2. * sigma_MLE # Lower predictive bound\n",
    "Y_u = Y_p + 2. * sigma_MLE # Upper predictive bound\n",
    "fig, ax = plt.subplots()\n",
    "ax.plot(X, Y, 'x', markeredgewidth=2, label='Observations')\n",
    "ax.plot(X_p, Y_p, label='MLE Prediction (Polynomial Basis)')\n",
    "ax.fill_between(X_p.flatten(), Y_l, Y_u, color=sns.color_palette()[1], alpha=0.25)\n",
    "ax.set_xlabel('$x$')\n",
    "ax.set_ylabel('$y$')\n",
    "plt.legend(loc='best');"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "nbpresent": {
     "id": "f61ebd96-65e6-4ade-8637-8967b616a23f"
    },
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "### Radial Basis Functions"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "nbpresent": {
     "id": "1be50984-f55f-4565-b836-eef796530eab"
    },
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "ell = 2.\n",
    "Xc = np.linspace(0, 60, 20)\n",
    "phi = RadialBasisFunctions(Xc, ell)\n",
    "Phi = compute_design_matrix(X, phi)\n",
    "w_MLE, res_MLE = np.linalg.lstsq(Phi, Y, rcond=None)[0:2] # Note that we\n",
    "                                              # now also use the second\n",
    "                                              # output of lstsq...\n",
    "sigma_MLE = np.sqrt(res_MLE / X.shape[0])\n",
    "Phi_p = compute_design_matrix(X_p, phi)\n",
    "Y_p = np.dot(Phi_p, w_MLE)\n",
    "Y_l = Y_p - 2. * sigma_MLE # Lower predictive bound\n",
    "Y_u = Y_p + 2. * sigma_MLE # Upper predictive bound\n",
    "fig, ax = plt.subplots()\n",
    "ax.plot(X, Y, 'x', markeredgewidth=2, label='Observations')\n",
    "ax.plot(X_p, Y_p, label='MLE Prediction (Radial Basis Functions)')\n",
    "ax.fill_between(X_p.flatten(), Y_l, Y_u, color=sns.color_palette()[1], alpha=0.25)\n",
    "ax.set_xlabel('$x$')\n",
    "ax.set_ylabel('$y$')\n",
    "plt.legend(loc='best');"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "nbpresent": {
     "id": "23b8789b-bf0e-46a3-a3ed-c96f44b84e0b"
    },
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "### Issues with Maximum Likelihood\n",
    "+ How many basis functions should I use?\n",
    "+ Which basis functions should I use?\n",
    "+ How do I pick the parameters of the basis functions, e.g., the lengthscale $\\ell$ of the RBFs?"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Questions\n",
    "\n",
    "Plot the MLE noise error bars for:\n",
    "\n",
    "+ A Fourier-basis model.\n",
    "+ The stepfunction-basis model."
   ]
  }
 ],
 "metadata": {
  "anaconda-cloud": {},
  "celltoolbar": "Raw Cell Format",
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.7"
  },
  "latex_envs": {
   "bibliofile": "biblio.bib",
   "cite_by": "apalike",
   "current_citInitial": 1,
   "eqLabelWithNumbers": true,
   "eqNumInitial": 0
  },
  "nbpresent": {
   "slides": {},
   "themes": {
    "default": "010979b2-9edc-4853-97dc-d1a6fb9d6ba1",
    "theme": {
     "010979b2-9edc-4853-97dc-d1a6fb9d6ba1": {
      "id": "010979b2-9edc-4853-97dc-d1a6fb9d6ba1",
      "palette": {
       "19cc588f-0593-49c9-9f4b-e4d7cc113b1c": {
        "id": "19cc588f-0593-49c9-9f4b-e4d7cc113b1c",
        "rgb": [
         252,
         252,
         252
        ]
       },
       "31af15d2-7e15-44c5-ab5e-e04b16a89eff": {
        "id": "31af15d2-7e15-44c5-ab5e-e04b16a89eff",
        "rgb": [
         68,
         68,
         68
        ]
       },
       "50f92c45-a630-455b-aec3-788680ec7410": {
        "id": "50f92c45-a630-455b-aec3-788680ec7410",
        "rgb": [
         155,
         177,
         192
        ]
       },
       "c5cc3653-2ee1-402a-aba2-7caae1da4f6c": {
        "id": "c5cc3653-2ee1-402a-aba2-7caae1da4f6c",
        "rgb": [
         43,
         126,
         184
        ]
       },
       "efa7f048-9acb-414c-8b04-a26811511a21": {
        "id": "efa7f048-9acb-414c-8b04-a26811511a21",
        "rgb": [
         25.118061674008803,
         73.60176211453744,
         107.4819383259912
        ]
       }
      },
      "rules": {
       "blockquote": {
        "color": "50f92c45-a630-455b-aec3-788680ec7410"
       },
       "code": {
        "font-family": "Anonymous Pro"
       },
       "h1": {
        "color": "c5cc3653-2ee1-402a-aba2-7caae1da4f6c",
        "font-family": "Lato",
        "font-size": 8
       },
       "h2": {
        "color": "c5cc3653-2ee1-402a-aba2-7caae1da4f6c",
        "font-family": "Lato",
        "font-size": 6
       },
       "h3": {
        "color": "50f92c45-a630-455b-aec3-788680ec7410",
        "font-family": "Lato",
        "font-size": 5.5
       },
       "h4": {
        "color": "c5cc3653-2ee1-402a-aba2-7caae1da4f6c",
        "font-family": "Lato",
        "font-size": 5
       },
       "h5": {
        "font-family": "Lato"
       },
       "h6": {
        "font-family": "Lato"
       },
       "h7": {
        "font-family": "Lato"
       },
       "pre": {
        "font-family": "Anonymous Pro",
        "font-size": 4
       }
      },
      "text-base": {
       "font-family": "Merriweather",
       "font-size": 4
      }
     }
    }
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
